抛弃GdCpp*.dll/pdb历史重新建库。libhv和Sqlite的dll保留

This commit is contained in:
Zhang Jianjun
2026-02-02 16:09:02 +08:00
parent f148ca49e3
commit 4a2a284ac0
292 changed files with 350450 additions and 0 deletions

View File

@@ -0,0 +1,112 @@
// CDlgDownCnt.cpp: 实现文件
//
#include "pch.h"
#include "CDlgDownCnt.h"
#define IDC_STATIC_DOWNCNT 1001
#define IDC_STATIC_INFO 1002
// CDlgDownCnt 对话框
IMPLEMENT_DYNAMIC(CDlgDownCnt, CBCGPDialog)
CDlgDownCnt::CDlgDownCnt(const std::wstring& str, int downcnt)
: CBCGPDialog(nullptr, nullptr)
, infoStr(str)
, downCnt(downcnt)
{
EnableVisualManagerStyle();
}
CDlgDownCnt::~CDlgDownCnt()
{
}
void CDlgDownCnt::DoDataExchange(CDataExchange* pDX)
{
CBCGPDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CDlgDownCnt, CBCGPDialog)
ON_WM_TIMER()
END_MESSAGE_MAP()
// CDlgDownCnt 消息处理程序
void CDlgDownCnt::OnTimer(UINT_PTR nIDEvent)
{
downCnt--;
if (downCnt <= 0) {
KillTimer(1);
EndDialog(0);
}
SetDlgItemInt(IDC_STATIC_DOWNCNT, downCnt);
CBCGPDialog::OnTimer(nIDEvent);
}
BOOL CDlgDownCnt::OnInitDialog()
{
CBCGPDialog::OnInitDialog();
// 获取窗口大小
CRect rc;
GetWindowRect(rc);
// 窗口四周保留32像素边界然后labelCount、labelInfo纵向排列各占一半高度。
int margin = globalUtils.ScaleByDPI(32) ;
int halfHeight = (rc.Height() - 2 * margin) / 2;
// 设置labelCount的位置
CRect rcCount = CRect(margin, margin, rc.Width() - margin, margin + halfHeight);
// 设置labelInfo的位置
CRect rcInfo = CRect(margin, margin + halfHeight, rc.Width() - margin, rc.Height() - margin);
if (!labelCount.Create(_T(""), WS_CHILD | WS_VISIBLE | SS_CENTER, rcCount, this, IDC_STATIC_DOWNCNT))
{
return FALSE;
}
if (!labelInfo.Create(_T(""), WS_CHILD | WS_VISIBLE | SS_CENTER, rcInfo, this, IDC_STATIC_INFO))
{
return FALSE;
}
m_InfoFont.CreatePointFont(180, L"宋体");
m_CountFont.CreatePointFont(240, L"宋体");
labelInfo.SetFont(&m_InfoFont);
labelCount.SetFont(&m_CountFont);
labelInfo.SetWindowText(infoStr.c_str());
SetDlgItemInt(IDC_STATIC_DOWNCNT, downCnt);
SetTimer(1, 1000, NULL);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
BOOL CDlgDownCnt::CreateDialogTemplate()
{
CRect rect(0, 0, 400, 200);
CString strCaption = _T("倒计时");
DLGTEMPLATE* pTemplate = dlgTemplate.CreateTemplate(WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SETFONT, rect, strCaption);
if (!InitModalIndirect(pTemplate, NULL))
{
return FALSE;
}
return TRUE;
}
void runDownCntDlg(const std::wstring& str, int downcnt)
{
CDlgDownCnt dlg(str, downcnt);
dlg.CreateDialogTemplate();
dlg.DoModal();
}