強制回應對話方塊程式:
LRESULT CALLBACK DialogProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)<br />{<br /> switch(uMsg)<br /> {<br /> case WM_INITDIALOG:<br /> //MoveWindow(hWnd,100,100,500,300,FALSE);<br /> SetWindowPos(hWnd,NULL,200,200,0,0,SWP_NOSIZE);<br /> return TRUE; // 表示已經初始化<br /> case WM_COMMAND: </p><p> if(LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)<br /> {<br /> EndDialog(hWnd,TRUE); //只用於強制回應對話方塊<br /> return TRUE;<br /> }<br /> break;<br /> } </p><p> return FALSE;//訊息沒有被處理,交給父視窗繼續處理<br />} </p><p>int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR lpCmdLine, int nShowCmd)<br />{ </p><p> DialogBox(hInstance, (LPCTSTR)(IDD_DIALOG1), NULL, (DLGPROC)DialogProc);//IDD_DIALOG1是對話方塊資源的ID<br /> return 0; </p><p>}<br />
非強制回應對話方塊程式:
LRESULT CALLBACK DialogProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)<br />{<br /> switch(uMsg)<br /> {<br /> case WM_INITDIALOG:<br /> //MoveWindow(hWnd,100,100,500,300,FALSE);<br /> SetWindowPos(hWnd,NULL,200,200,0,0,SWP_NOSIZE);<br /> return TRUE; // 表示已經初始化 </p><p> case WM_COMMAND: </p><p> if(LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)<br /> {<br /> PostQuitMessage(0);<br /> return TRUE;<br /> }<br /> break; </p><p> case WM_DESTROY:<br /> PostQuitMessage(0);<br /> break;<br /> //可以試試加上此段代碼的效果!<br /> //default:<br /> // return DefWindowProc(hWnd, uMsg, wParam, lParam);<br /> } </p><p> return FALSE;//訊息沒有被處理,交給父視窗繼續處理<br />} </p><p>int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPSTR lpCmdLine, int nShowCmd)<br />{ </p><p> HWND hDialog =<br /> CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC)DialogProc); </p><p> ShowWindow(hDialog, SW_SHOW);<br /> UpdateWindow(hDialog); </p><p> MSG msg; </p><p> while(GetMessage(&msg, NULL, 0, 0))<br /> {<br /> TranslateMessage(&msg);<br /> DispatchMessage(&msg);<br /> } </p><p> return 0;<br />}<br />