treeCtrl的GetItemData(),需要用到消息循环?
进击的菠萝 2020-09-10 07:04:02 今天在子线程操作树形控件,在调用GetItemData()时,发现代码卡住不动了
主线程:
...
AfxBeginThread(f_fun_Thread, );
Sleep(30000);
子线程:
f_fun_Thread{
m_tree->GetItemData(hItem); -->卡住不动,等主线程Sleep(30000);结束后才往下跑
}
后来在主线程做消息转发,子线程就正常了
AfxBeginThread(f_fun_Thread, );
int count = 0;
while(count++ < 60){
while (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
Sleep(500);
}
所以GetItemData需要消息循环???