資源簡介
這是一個使用VC++編寫的一個MFC多線程的源程序,程序中線程執行函數有兩種,一種是從CWinThread繼承的對象的RUNTIME_CLASS,用于線程啟動對話框,另一種是類的成員函數作為線程的執行函數。另外本程序還修改了MFC生成的.exe程序的圖標和運行時對話框顯示的圖標。還有動態改變對話框圖標的功能。希望該程序對大家有幫助。

代碼片段和文件信息
//?CreateThread.cpp?:?implementation?file
//
#include?“stdafx.h“
#include?“MulThreadTest.h“
#include?“CreateThread.h“
extern?UINT?n;
//?CCreateThread?dialog
IMPLEMENT_DYNAMIC(CCreateThread?CDialog)
UINT?CCreateThread::MulThreadFunc(LPVOID?lpParam) //線程函數屬于CCreateThread類的成員函數
{
m_data*?plp=(m_data?*)lpParam; //參數類型轉化
while(1)
{
??for(int?pos=plp->m_pro.GetPos();pos<100;pos++)
{
(plp->m_pro).SetPos(pos);
Sleep(100);
if(plp->b)
{
ExitThread(0);
}
}
??plp->m_pro.SetPos(0);
}
return?0;
}
CCreateThread::CCreateThread(CWnd*?pParent?/*=NULL*/)
:?CDialog(CCreateThread::IDD?pParent)
{
check?=?FALSE;
}
CCreateThread::~CCreateThread()
{
}
void?CCreateThread::DoDataExchange(CDataExchange*?pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX?IDC_PROGRESS1?m_d.m_pro);
}
BEGIN_MESSAGE_MAP(CCreateThread?CDialog)
ON_BN_CLICKED(IDOK?&CCreateThread::OnBnClickedOk)
ON_WM_PAINT()
END_MESSAGE_MAP()
//?CCreateThread?message?handlers
void?CCreateThread::OnBnClickedOk()
{
//?TODO:?Add?your?control?notification?handler?code?here
m_d.b?=?check;
if(!check)
{
pThread=AfxBeginThread(MulThreadFunc&m_d004); //創建新的線程
pThread->ResumeThread(); //開始執行
GetDlgItem(IDOK)->SetWindowText(TEXT(“暫停“));
SetIcon(AfxGetApp()->LoadIcon(IDI_ICON2)?FALSE);
}
else
{
GetDlgItem(IDOK)->SetWindowText(TEXT(“繼續“));
SetIcon(AfxGetApp()->LoadIcon(IDI_ICON3)?FALSE);
}
check?=?!check;
}
void?CCreateThread::OnPaint()
{
CPaintDC?dc(this);?//?device?context?for?painting
//?TODO:?Add?your?message?handler?code?here
//?Do?not?call?CDialog::OnPaint()?for?painting?messages
CString?showwin;
showwin.Format(_T(“Thread:?%d“)n);
SetWindowText(showwin);
SetIcon(AfxGetApp()->LoadIcon(IDI_ICON4)?FALSE);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄??????????0??2009-07-14?17:03??MulThread
?????目錄??????????0??2009-07-14?17:01??MulThread\debug
?????文件?????749568??2009-07-14?16:58??MulThread\debug\MulThreadTest.exe
?????文件?????919700??2009-07-14?16:58??MulThread\debug\MulThreadTest.ilk
?????目錄??????????0??2009-07-14?16:58??MulThread\MulThreadTest
?????文件???????1895??2009-07-14?16:58??MulThread\MulThreadTest\CreateThread.cpp
?????文件????????755??2009-07-14?16:33??MulThread\MulThreadTest\CreateThread.h
?????目錄??????????0??2009-07-14?17:01??MulThread\MulThreadTest\Debug
?????文件???????7454??2009-07-14?16:58??MulThread\MulThreadTest\Debug\BuildLog.htm
?????文件?????591424??2009-07-14?16:58??MulThread\MulThreadTest\MulThreadTest.aps
?????文件???????1740??2009-07-14?16:04??MulThread\MulThreadTest\MulThreadTest.cpp
?????文件????????483??2009-07-14?16:04??MulThread\MulThreadTest\MulThreadTest.h
?????文件???????5164??2009-07-14?16:58??MulThread\MulThreadTest\MulThreadTest.rc
?????文件???????6093??2009-07-14?16:58??MulThread\MulThreadTest\MulThreadTest.vcproj
?????文件???????1403??2009-07-14?17:02??MulThread\MulThreadTest\MulThreadTest.vcproj.LYJ.Zhang.user
?????文件???????2262??2009-07-14?16:50??MulThread\MulThreadTest\MulThreadTestDlg.cpp
?????文件????????580??2009-07-14?16:11??MulThread\MulThreadTest\MulThreadTestDlg.h
?????文件????????821??2009-07-14?16:34??MulThread\MulThreadTest\NewWinThread.cpp
?????文件????????358??2009-07-14?16:15??MulThread\MulThreadTest\NewWinThread.h
?????文件???????2871??2009-07-14?16:04??MulThread\MulThreadTest\ReadMe.txt
?????目錄??????????0??2009-07-14?16:58??MulThread\MulThreadTest\res
?????文件?????430178??2009-07-14?16:48??MulThread\MulThreadTest\res\Champicons?Icon?27.ico
?????文件????????766??2009-07-14?16:57??MulThread\MulThreadTest\res\icon3.ico
?????文件????????766??2009-07-14?16:58??MulThread\MulThreadTest\res\icon4.ico
?????文件??????99678??2009-07-14?16:48??MulThread\MulThreadTest\res\kalarm.ico
?????文件??????21630??2005-09-23?09:25??MulThread\MulThreadTest\res\MulThreadTest.ico
?????文件????????369??2009-07-14?16:04??MulThread\MulThreadTest\res\MulThreadTest.rc2
????..A.SH.??????8192??2009-07-14?17:01??MulThread\MulThreadTest\res\Thumbs.db
?????文件????????772??2009-07-14?16:58??MulThread\MulThreadTest\resource.h
?????文件????????144??2009-07-14?16:04??MulThread\MulThreadTest\stdafx.cpp
............此處省略8個文件信息
- 上一篇:C++課件PDF
- 下一篇:DlT—直接線性變換程序
評論
共有 條評論