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

📄 progressdialog.cpp

📁 本程序使用C++编写
💻 CPP
字号:
// ProgressDialog.cpp
#include "stdafx.h"
//#include "ProgressTest.h"
/*#include "ProgressDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CProgressDialog::CProgressDialog(LPCSTR caption, BOOL enableCancel, CWnd* pParent /*=NULL*///) :
/*CDialog(CProgressDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CProgressDialog)
	m_Caption=caption;
	m_EnableCancel=enableCancel;
	m_IsCancel=FALSE;
	m_Thread=NULL;
	//}}AFX_DATA_INIT
}
CProgressDialog::~CProgressDialog(void)
{
	if (m_Thread) {
	CloseHandle(m_Thread);
	}
}
void
CProgressDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CProgressDialog)
	DDX_Control (pDX IDC_MESSAGE_STATIC, m_MessageStatic);
	DDX_Control(pDX, IDCANCEL, m_CancelButton);
	DDX_Control(pDX, IDC_PROGRESS, m_ProgressCtrl);
	//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CProgressDialog, CDialog)
//{{AFX_MSG_MAP(CProgressDialog)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
// CProgressDialog message handlersBOOL CProgressDialog::OnInitDialog()
{
	CDialog::OnInitDialog();
	// TODO: Add extra initialization here
	m_ProgressCtrl.SetRange(0, 100);
	m_ProgressCtrl.SetPos(0);
	SetWindowText(m_Caption);
	if (!m_EnableCancel) 
	{
	  m_CancelButton.ShowWindow(SW_HIDE);
	}
	DWORD threadID;
	m_Thread=CreateThread(NULL, 0,
	(LPTHREAD_START_ROUTINE)CProgressDialog::Thread
	Proc,(LPVOID)this,0,&threadID);
	return TRUE; // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return
	FALSE
}
DWORD WINAPI
CProgressDialog::ThreadProc(CProgressDialog* dlg)
{
	DWORD ret=dlg->ProgressProc();
	dlg->PostMessage(WM_COMMAND, IDOK);
	return ret;
}
void CProgressDialog::OnCancel()
{
// TODO: Add extra cleanup here
   if (m_EnableCancel) m_IsCancel=TRUE;
}
void CProgressDialog::OnOK()
{
// TODO: Add extra validation here
	WaitForSingleObject(m_Thread, INFINITE);
	CDialog::OnOK();
}
DWORD CMyProgressDialog::ProgressProc()
{
	SetMessage("Progress...");
	for (int i=0;i<100;i++) 
	{
	if (IsCancel()) break;
	Sleep(100);
	SetProgress(i);
    }
    return 0;
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -