MFC如何在自定义函数中调用控件变量

我做的是生产者—消费者问题,要在进程起点函数DWORD WINAPI Producer(LPVOID lpPara)中输出信息到编辑框控件,但调试时无法引用,怎么做啊?

Producer是一个线程的起始函数吧?应该不是进程。

您可以将编辑框控件的指针或句柄通过lpPara参数传入到线程里面。

例如:
HWND hWnd = GetDlgItem(hWndDlg,IDC_EDIT);
_beginthreadex(...Producer,(LPVOID)hWnd,....);

在线程里:
DWORD WINAPI Producer(LPVOID lpPara)

{
HWND hWnd=(HWND)lpPara;

if(hWnd != NULL)
SetWindowText(hWnd,TEXT("123"));
}追问

我要对多个控件传值,我想问下为什么在按钮的响应函数中可以引用多个控件变量,而自定义函数不行,有什么办法可以在自定义的函数中也能引用控件变量?

追答

自定义函数也可以的,你把函数定义为你需要用的控件的父窗口的成员函数即可。
或者将需要用的控件的父窗口的CWnd指针或HWND句柄作为该函数的参数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-09
操作方法如下:
自定义函数也可以的,你把函数定义为你需要用的控件的父窗口的成员函数即可。
或者将需要用的控件的父窗口的cwnd指针或hwnd句柄作为该函数的参数。
相似回答