[問題] win32在跑迴圈等待回應時該如何關掉視窗

看板Programming作者 (s910)時間13年前 (2010/11/24 16:54), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/2 (看更多)
小弟目前開了一開對話視窗 開始執行迴圈後,UI就沒有辦法關掉 請問有沒有不用thread就可以定時讓主控權回到UI的方法呢? 程式大致長這樣 BOOL CALLBACK DlgProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) { switch(Message) { case WM_INITDIALOG: for(; ;){ //再跑迴圈的時候就關不掉視窗 } break; } break; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { return DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, DlgProc); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.207.141

11/24 17:49, , 1F
不要用無窮迴圈(想辦法設個條件可以跳出)
11/24 17:49, 1F

11/24 21:21, , 2F
main thread不能拿來做別的事
11/24 21:21, 2F

11/24 21:21, , 3F
因為視窗message是main負責handle的
11/24 21:21, 3F

11/24 21:22, , 4F
你的main在迴圈裡 ui當然沒反應
11/24 21:22, 4F
文章代碼(AID): #1CxDAitH (Programming)
文章代碼(AID): #1CxDAitH (Programming)