⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainwind.h

📁 魅族M8手机的使用SDK一个下载示例
💻 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 + -