日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mfc 创建线程函数AfxBeginThread,线程中访问mfc控件

發布時間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mfc 创建线程函数AfxBeginThread,线程中访问mfc控件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉字http://blog.csdn.net/guomsh/article/details/10377993

1. C++ 中如何定義線程函數


? ? ?有兩種方法:a. 定義線程函數為全局函數 ? ?b. 定義線程函數為類的靜態成員函數

2. C++中的線程函數如何訪問類中的成員變量

? ? 針對線程函數為類的靜態成員進行說明。如果是靜態數據成員,當然可以直接訪問,但是如果要訪問非靜態數據成員,直接訪問是做不到的。如果要想在線程函數中訪問和操作類的非靜態成員變量,可以把線程函數作為一個適配器,在適配器中調用類的非靜態成員函數。例如:


class CMyClass
{
public:
? ? void TestFunc();
? ? static int ThreadFunc(LPVOID pParam);// Adapter
protected:
? ? int ThreadFuncKernal();// Kernal
}

void CMyClass::TestFunc()
? ?{
? ? ? ? AfxBeginThread(TreadFunc, this);
? ?}

? ?// Thread function Adapter
? ?int CMyClass::ThreadFunc(LPVOID pParam) //這個是線程,聲明時使用static關鍵字 ,不能訪問控件
? ?{
? ? ? ?CMyClass *pObj = (CMyClass *)pParam;
? ? ? ?return pObj->ThreadFuncKernal();
? ?}

? ?// Thread function kernal
? ?int CMyClass::ThreadFuncKernal() //在這里可以訪問mfc的控件
? ?{
? ? ? ?while(1)
? ? ? ?{
? ? ? ? ? ?// my thread
? ? ? ? ? ?// to control class non-static member
? ? ? ?}
? ? ? ?return 0;
? ?}

總結

以上是生活随笔為你收集整理的mfc 创建线程函数AfxBeginThread,线程中访问mfc控件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。