資源簡介
如標(biāo)題,在MFC中必須使用 AfxBeginThread創(chuàng)建多線程,如使用BeginThread可能會出現(xiàn)BUG
代碼片段和文件信息
//?AfxBeginThread1.cpp?:?定義應(yīng)用程序的類行為。
//
#include?“stdafx.h“
#include?“AfxBeginThread1.h“
#include?“AfxBeginThread1Dlg.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//?CAfxBeginThread1App
BEGIN_MESSAGE_MAP(CAfxBeginThread1App?CWinAppEx)
ON_COMMAND(ID_HELP?&CWinApp::onhelp)
END_MESSAGE_MAP()
//?CAfxBeginThread1App?構(gòu)造
CAfxBeginThread1App::CAfxBeginThread1App()
{
//?TODO:?在此處添加構(gòu)造代碼,
//?將所有重要的初始化放置在?InitInstance?中
}
//?唯一的一個?CAfxBeginThread1App?對象
CAfxBeginThread1App?theApp;
//?CAfxBeginThread1App?初始化
BOOL?CAfxBeginThread1App::InitInstance()
{
//?如果一個運行在?Windows?XP?上的應(yīng)用程序清單指定要
//?使用?ComCtl32.dll?版本?6?或更高版本來啟用可視化方式,
//則需要?InitCommonControlsEx()。否則,將無法創(chuàng)建窗口。
INITCOMMONCONTROLSEX?InitCtrls;
InitCtrls.dwSize?=?sizeof(InitCtrls);
//?將它設(shè)置為包括所有要在應(yīng)用程序中使用的
//?公共控件類。
InitCtrls.dwICC?=?ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinAppEx::InitInstance();
AfxEnableControlContainer();
//?標(biāo)準(zhǔn)初始化
//?如果未使用這些功能并希望減小
//?最終可執(zhí)行文件的大小,則應(yīng)移除下列
//?不需要的特定初始化例程
//?更改用于存儲設(shè)置的注冊表項
//?TODO:?應(yīng)適當(dāng)修改該字符串,
//?例如修改為公司或組織名
SetRegistryKey(_T(“應(yīng)用程序向?qū)傻谋镜貞?yīng)用程序“));
CAfxBeginThread1Dlg?dlg;
m_pMainWnd?=?&dlg;
INT_PTR?nResponse?=?dlg.DoModal();
if?(nResponse?==?IDOK)
{
//?TODO:?在此放置處理何時用
//??“確定”來關(guān)閉對話框的代碼
}
else?if?(nResponse?==?IDCANCEL)
{
//?TODO:?在此放置處理何時用
//??“取消”來關(guān)閉對話框的代碼
}
//?由于對話框已關(guān)閉,所以將返回?FALSE?以便退出應(yīng)用程序,
//??而不是啟動應(yīng)用程序的消息泵。
return?FALSE;
}
評論
共有 條評論