使用者介面執行緒AfxBeginThread的使用

2021-09-06 13:15:29 字數 974 閱讀 3161

使用者介面執行緒在執行時會有乙個視窗介面和與其相對應的視窗函式,所以它可以通過響應訊息來和使用者進行互動。

afxbeginthread

cwinthread *afxbeginthread( 

cruntimeclass *pthreadclass,         

//從cwinthread派生的runtime_class類 

int /* = thread_priority_normal */

//指定執行緒的優先順序 

uint nstacksize 

/* = 0 */

//定義新執行緒的堆疊大小 

dword dwcreateflags 

/* = 0 */

//為控制線程建立的附加標誌 

lpsecurity_attributes lpsecurityattrs 

/* = null */

//指定執行緒的安全屬性 

)使用者介面執行緒必須包含有訊息迴圈,以便可以處理使用者訊息。要使用使用者介面執行緒,必須派生自cwinthread

#include

"mythread.h"

4.在cmythread類實現檔案中包含標頭檔案:

#include

"mywnd.h"

5.在cmythread::initinstance()中建立執行緒中的窗體:

bool cmythread::initinstance() 

6.在cmywnd類中修改建構函式cmywnd()

void

7.在應用程式檢視類中實現滑鼠左鍵響應函式:

void

程式執行結果:

這裡要注意的是,這個使用者介面不是屬於主框架視窗的,可以說是和主線程視窗並列的。通過檢視桌面工作列就可以發現,兩個視窗並行著顯示,而且互相不影響。注意上面給出的**messagebox

對於使用者介面執行緒的正常退出,只要在使用者介面執行緒內呼叫postquitmessage

建立使用者介面執行緒

建立使用者介面執行緒 本人節選自 21天學通c 一書 說明 中使用了declare dyncreate巨集,使用該巨集表明mythread類具有動態建立的能力。使用declare message map巨集表明具有訊息對映,可以處理命令訊息。再開啟mythread類的實現檔案 mythread.cp...

使用者介面執行緒AfxBeginThread的使用

使用者介面執行緒在執行時會有乙個視窗介面和與其相對應的視窗函式,所以它可以通過響應訊息來和使用者進行互動。afxbeginthread 函式原型如下 cwinthread afxbeginthread cruntimeclass pthreadclass,從cwinthread派生的runtime ...

使用者介面執行緒AfxBeginThread的使用

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!使用者介面執行緒在執行時會有乙個視窗介面和與其相對應的視窗函式,所以它可以通過響應訊息來和使用者進行互動。afxbeginthread函式原型如下 cwinthread afxbeginthread cruntimeclass pthreadcla...