📄 mainwind.h
字号:
#pragma once
#include "stdafx.h"
#define MZ_IDC_TOOLBARDOWN 112
DWORD WINAPI Fun1Proc( LPVOID lpParameter );
//DWORD WINAPI Fun2Proc( LPVOID lpParameter );
// 从CMzWnd派生主窗口类
class MainWind: public CMzWndEx
{
// MZ_DECLARE_DYNAMIC(MainWind);
public:
UiToolbar_Text m_ToolbarDown;
MzProgressDialog *m_pProcessDialog ;
int kkk;
bool DwonState;
protected:
// 重载窗口初始化函数
virtual BOOL OnInitDialog()
{
// 先调用基类的初始化函数
if (!CMzWndEx::OnInitDialog())
{
return FALSE;
}
m_ToolbarDown.SetPos(0,GetHeight()-MZM_HEIGHT_TEXT_TOOLBAR,GetWidth(),MZM_HEIGHT_TEXT_TOOLBAR);
m_ToolbarDown.SetButton(0, true, true, L"测试");
// m_ToolbarDown.EnableLeftArrow(true);
m_ToolbarDown.SetButton(1, true, true, L"下载测试");
m_ToolbarDown.SetButton(2, true, true, L"退出");
m_ToolbarDown.SetID(MZ_IDC_TOOLBARDOWN);
AddUiWin(&m_ToolbarDown);
return TRUE;
}
LRESULT MzDefWndProc(UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_BEGIN_PROGRESS: //开始下载
{
DwonState=true;
m_pProcessDialog= new MzProgressDialog();
m_pProcessDialog->SetRange(0, 100);
m_pProcessDialog->SetCurValue(0);
m_pProcessDialog->SetTitle(L"准备下载");
m_pProcessDialog->SetInfo(L"正在连接网络...");
m_pProcessDialog->SetButtonText(L"取消下载");
m_pProcessDialog->SetShowInfo(true);
m_pProcessDialog->SetShowTitle(true);
m_pProcessDialog->SetButtonMessage(WM_CALEL_PROGRESS);
m_pProcessDialog->BeginProgress(this->m_hWnd);
m_pProcessDialog->UpdateProgress();
break;
}
case WM_UPDATE_PROGRESS: //正在下载
{
CMzString str(128);
kkk=100*lParam/wParam;
wsprintf(str.C_Str(), L"正在下载:%d %%", kkk);
m_pProcessDialog->SetTitle(str.C_Str());
m_pProcessDialog->SetCurValue(kkk);
wsprintf(str.C_Str(), L"已下载:%d / %d KB", lParam/1024,wParam/1024);
m_pProcessDialog->SetInfo(str.C_Str());
m_pProcessDialog->UpdateProgress();
break;
}
case WM_END_PROGRESS: //完成下载
{
m_pProcessDialog->EndProgress();
delete m_pProcessDialog;
m_pProcessDialog = NULL;
break;
}
case WM_CALEL_PROGRESS: //取消下载
{
DwonState=false;
m_pProcessDialog->SetTitle(L"取消下载");
m_pProcessDialog->SetInfo(L"正在断开连接...");
m_pProcessDialog->SetButtonText(L"");
m_pProcessDialog->UpdateProgress();
break;
}
return 2;
}
return CMzWndEx::MzDefWndProc(message,wParam,lParam);
}
/* 窗口消息处理函数,第一个参数用一个无符号整形代表消息类型,后面的就都跟前两个例子一样了 */
// 重载MZFC的命令消息处理函数
/* 命令处理函数就是专门针对按钮和菜单的 */
virtual void OnMzCommand(WPARAM wParam, LPARAM lParam)
{
UINT_PTR id = LOWORD(wParam);
//CMzWndEx *pWnd;
switch(id)
{
case MZ_IDC_TOOLBARDOWN:
{
int nIndex = lParam;
if (nIndex==0)
{
return;
}
if (nIndex==1)
{
this-> PostMessageW( WM_BEGIN_PROGRESS, NULL, NULL);
HANDLE hThread1;//,hThread2;
hThread1 = CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);
CloseHandle(hThread1);
return;
}
/* 如果选中了 退出 按钮 */
if (nIndex==2)
{
if(1 == MzMessageBoxEx(m_hWnd, L"你确定要退出吗??", L"Exit", MB_YESNO, false))
PostQuitMessage(0);
return;
}
}
break;
}
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -