GetDlgItem()在主線程序和非主線程內使用時的不同!
Chris 2002-07-22 08:22:54 1,這是在一個非主線程內用GetDlgItem()編譯時報錯,不能帶一個參數!!!
void CEX3Dlg::OnButton1()
{
CProgressCtrl* p=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
V->SetRange(0,100);
V->SetPos(0);
V->StepIt();
while(V->GetPos()<100)
{
V->StepIt();
::Sleep(1000);
}
}
2,這是在一個非主線程內用GetDlgItem()編譯時報錯,不能帶一個參數!!!
void CEX3Dlg::OnButton1()
{
AfxBeginThread(PRO,&p,0);
}
UINT PRO(LPVOID V);
UINT PRO(LPVOID V)
{
CProgressCtrl* p=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
V->SetRange(0,100);
V->SetPos(0);
V->StepIt();
while(V->GetPos()<100)
{
V->StepIt();
::Sleep(1000);
}
AfxEndThread(0);
}
為什麼2種情況會報錯說不能帶一個參數啊???
怎麼解決??