1. 程式人生 > >Windoows窗口程序七

Windoows窗口程序七

style int peek rem pms 消息循環 msg -- 下一條

WM_QUIT--用於結束消息循環處理
    wParam - PostQuitMessage函數傳遞的參數
    lParam - 不使用
    當GetMessage收到這個消息後,會返回false,結束while處理,退出消息循環。
    WM_QUIT不會進入消息處理函數,因為這是由PostQuitMessage函數向窗口發送的消息,GetMessage直接返回了。

WM_PAINT--繪圖消息
鍵盤消息
鼠標消息
定時器消息
GetMessage--從系統獲取消息,將消息從系統中移除,阻塞函數。當系統無消息時,GetMessage會等候下一條消息。
PeekMessage--以查看的方式從系統獲取消息,可以不將消息從系統中移除,非阻塞函數。當系統無消息時,返回false,繼續執行後續代碼。
BOOL WINAPI PeekMessage(
  _Out_    LPMSG lpMsg,
  _In_opt_ HWND  hWnd,
  _In_     UINT  wMsgFilterMin,
  _In_     UINT  wMsgFilterMax,
  _In_     UINT  wRemoveMsg
//移除標識 );
SendMessage--發送消息,會等候消息處理的結果。
PostMessage--投遞消息,消息發出後立刻返回,不等候消息執行結果。
LRESULT SendMessage(
  _In_ HWND   hWnd,//消息發送的目的窗口
  _In_ UINT   Msg,//消息ID
  _In_ WPARAM wParam,//消息參數
  _In_ LPARAM lParam//消息參數
);
BOOL PostMessage(
  _In_opt_ HWND   hWnd,
  _In_     UINT   Msg,
  _In_     WPARAM wParam,
  _In_     LPARAM lParam
);

Windoows窗口程序七