1.程式初始化過程中呼叫CreateWindow,為程式建立了一個視窗,做為程式的螢幕舞臺。CreateWindow 產生視窗之後會送出WM_CREATE 直接給視窗函式,後者於是可以在此時機做些初始化動作(例如配置記憶體、開檔案、讀初始資料...)。
2. 程式活著的過程中,不斷以GetMessage 從訊息貯列中抓取訊息。如果這個訊息是WM_QUIT,GetMessage 會傳回0 而結束while 迴圈,進而結束整個程式。
3. DispatchMessage 透過Windows USER 模組的協助與監督,把訊息分派至視窗函式。訊息將在該處被判別並處理。
4. 程式不斷進行2. 和3. 的動作。
5. 當使用者按下系統選單中的Close 命令項,系統送出WM_CLOSE。通常程式的視窗函式不欄截此訊息,於是DefWindowProc 處理它。
6. DefWindowProc 收到WM_CLOSE 後, 呼叫DestroyWindow 把視窗清除。DestroyWindow 本身又會送出WM_DESTROY。
7. 程式對WM_DESTROY 的標準反應是呼叫PostQuitMessage。
8. PostQuitMessage 沒什麼其它動作,就只送出WM_QUIT 訊息,準備讓訊息迴圈中的GetMessage 取得,如步驟2,結束訊息迴圈。
開始若是MFC,訊息的順序是WM_CREATE,WM_SIZW,WM_SetFocus,WM_PAINT。
1.程式初始化過程中呼叫CreateWindow,為程式建立了一個視窗,做為程式的螢幕舞臺。CreateWindow 產生視窗之後會送出WM_CREATE 直接給視窗函式,後者於是可以在此時機做些初始化動作(例如配置記憶體、開檔案、讀初始資料...)。
2. 程式活著的過程中,不斷以GetMessage 從訊息貯列中抓取訊息。如果這個訊息是WM_QUIT,GetMessage 會傳回0 而結束while 迴圈,進而結束整個程式。
3. DispatchMessage 透過Windows USER 模組的協助與監督,把訊息分派至視窗函式。訊息將在該處被判別並處理。
4. 程式不斷進行2. 和3. 的動作。
5. 當使用者按下系統選單中的Close 命令項,系統送出WM_CLOSE。通常程式的視窗函式不欄截此訊息,於是DefWindowProc 處理它。
6. DefWindowProc 收到WM_CLOSE 後, 呼叫DestroyWindow 把視窗清除。DestroyWindow 本身又會送出WM_DESTROY。
7. 程式對WM_DESTROY 的標準反應是呼叫PostQuitMessage。
8. PostQuitMessage 沒什麼其它動作,就只送出WM_QUIT 訊息,準備讓訊息迴圈中的GetMessage 取得,如步驟2,結束訊息迴圈。
開始若是MFC,訊息的順序是WM_CREATE,WM_SIZW,WM_SetFocus,WM_PAINT。