|
1. 建立一个基于对话框的工程MultiThread6,在对话框IDD_MULTITHREAD6_DIALOG中加入一个按钮IDC_UI_THREAD,标题为“用户界面线程”
2. 右击工程并选中“New Class…”为工程添加基类为CWinThread派生线程类CUIThread。 3. 给工程添加新对话框IDD_UITHREADDLG,标题为“线程对话框”。 4. 为对话框IDD_UITHREADDLG创建一个基于CDialog的类CUIThreadDlg。使用ClassWizard为CUIThreadDlg类添加WM_LBUTTONDOWN消息的处理函数OnLButtonDown,如下: void
CUIThreadDlg::OnLButtonDown(UINT nFlags, CPoint point)
{ AfxMessageBox("You Clicked The Left Button!"); CDialog::OnLButtonDown(nFlags, point); }
class CUIThread : public
CWinThread
{ DECLARE_DYNCREATE(CUIThread) protected: CUIThread(); // protected constructor used by dynamic creation // Attributes public: // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CUIThread) public: virtual BOOL InitInstance(); virtual int ExitInstance(); //}}AFX_VIRTUAL // Implementation protected: CUIThreadDlg m_dlg; virtual ~CUIThread(); // Generated message map functions //{{AFX_MSG(CUIThread) // NOTE - the ClassWizard will add and remove member functions here. //}}AFX_MSG DECLARE_MESSAGE_MAP() }
;
BOOL CUIThread::InitInstance()
{ m_dlg.Create(IDD_UITHREADDLG); m_dlg.ShowWindow(SW_SHOW); m_pMainWnd=&m_dlg; return TRUE; }
int
CUIThread::ExitInstance()
{ m_dlg.DestroyWindow(); return CWinThread::ExitInstance(); }
void
CMultiThread6Dlg::OnUiThread()
{ CWinThread *pThread=AfxBeginThread(RUNTIME_CLASS(CUIThread)); }
#include "UIThread.h"
|



AfxMessageBox(
}









1万+

被折叠的 条评论
为什么被折叠?



