這裡我用vc++6.0建立了乙個名為muti_tread的對話方塊程式。
在muti_threaddlg.h : header
file 中新增
// generated message map functions
//}afx_msg
declare_message_map()
在muti_threaddlg.cpp :
implementation file中
首先定義
#define
wm_my_message (wm_user+100)//wm_user
有一些控制項也使用,因此這裡要加上100
下一步 還是在muti_threaddlg.cpp :
implementation file中
begin_message_map(cmuti_threaddlg, cdialog)
//}afx_msg_map
end_message_map()
同時實現訊息處理函式
lresult
cmuti_threaddlg::onmymessage(wparam wparam, lparam lparam)
這樣完整的訊息機制就建立了,這裡是呼叫了messagebox函式,其他的窗體函式以及按鈕的訊息響應函式也可以直接呼叫了。下面關鍵是在全域性的函式中彈出訊息,使得訊息的響應函式onmymessage能夠執行。翻閱了一些資料,總算給找到了
使用::postmessage(afxgetmainwnd()->m_hwnd,wm_my_message,null,null);
在全域性函式中
void global()
最後建立執行緒
handle
t_facedetect=createthread(null,0,(lpthread_start_routine)global,null,0,0);//
執行緒執行函式
到此 結束
多執行緒全域性函式與訊息機制的結合
這裡我用vc 6.0建立了乙個名為muti tread的對話方塊程式。在muti threaddlg.h header file 中新增 generated message map functions afx msg declare message map 在 muti threaddlg.cpp ...
MFC多執行緒與多執行緒的同步
dword winapi threadproc lpvoid lpparameter 注意這裡threadproc這個名字是可以按自己的要求修改的 handle winapi createthread lpsecurity attributes lpthreadattributes,安全性 size...
MFC的訊息機制
今天重新整理mfc的訊息機制,最終的結果應該是利用win32程式模擬乙個mfc的訊息鏈。1.標準訊息 除wm command之外,所有以wm 開頭的訊息。從cwnd派生的類,都可以接收到這類訊息。2.命令訊息 來自選單 加速鍵或工具欄按鈕的訊息。這類訊息都以wm command呈現。在mfc中,通過...