当前位置: 代码迷 >> VC >> GetDlgItem、EnableWindow等函数在线程函数中无法使用,郁闷.解决方案
  详细解决方案

GetDlgItem、EnableWindow等函数在线程函数中无法使用,郁闷.解决方案

热度:7647   发布时间:2013-02-25 00:00:00.0
GetDlgItem、EnableWindow等函数在线程函数中无法使用,郁闷......
如题,盼救星光临,如同我的梦中之神.......

------解决方案--------------------------------------------------------
将窗口指针传递给线程,或者申明一个全局窗口指针,使线程内可见。
例如:
UINT TestThread(LPVOID pParam)
{
CMyDlg* pDlg = (CMyDlg*)pParam;
pDlg->GetDlgItem(IDC_Button1)->EnableWindow(0);
return 0; 
}

void CMyDlg::OnBnClicked1()
{
AfxBeginThread(TestThread,this);
}
重点是对于线程函数所处位置,窗口类的声明可见、窗口类对象的指针可见,以及如果使用GetDlgItem(ID),ID的声明也应当是可见的。(一般resource.h内声明的宏工程内都可见)
  相关解决方案