回覆列表
  • 1 # 使用者990540253822

    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。

  • 中秋節和大豐收的關聯?
  • 讀窮人有感500字?