郵件類別
哪一種訊息撰寫處理常式? 有三個主要類別:
Windows 訊息
這包括主要是在開頭的訊息 WM_ 前置字元,除了 WM_COMMAND。 視窗和檢視表會處理 Windows 訊息。 這些訊息通常有用來決定如何處理訊息的參數。
控制項告知
這包括 WM_COMMAND 從控制項和其他子視窗的告知訊息到它們的父視窗。 例如,編輯控制項將傳送其父代 WM_COMMAND 訊息包含 EN_CHANGE 使用者已經所採取的動作時的控制項告知程式碼變更編輯控制項中的文字。 視窗的訊息的處理常式會回應通知訊息以某種適當的方式,例如擷取控制項中的文字。
架構傳送控制項告知訊息,就像其他 WM_ 訊息。 不過,是一個例外狀況, BN_CLICKED 時在使用者按一下按鈕所傳送的控制項告知訊息。 這個訊息是當作命令訊息特別處理,就像其他命令路由傳送。
命令訊息
這包括 WM_COMMAND 從使用者介面物件的通知訊息: 功能表、 工具列按鈕和對應鍵。 架構可處理其他訊息,與不同的命令,它們可由處理更多的物件,詳見 〈 命令目標。
Windows 訊息和控制項告知訊息
在 [類別 1 和 2 的訊息 — Windows 訊息和控制項告知 — 由 windows: 物件的類別衍生自類別CWnd。 這包括CFrameWnd, CMDIFrameWnd, CMDIChildWnd, CView, CDialog,和您自己的類別衍生自這些基底類別。 這類物件封裝HWND,Windows 視窗的控制代碼。
命令訊息
類別 3 中的訊息 — 命令 — 可以處理更多種類的物件: 文件、 文件樣板和應用程式物件中,除了之外的視窗。 當命令直接影響一些特定的物件時,讓具有該物件處理命令。 比方說,在 [檔案] 功能表上的 [開啟] 指令是與應用程式邏輯上相關聯: 在應用程式開啟時接收到這個命令指定的文件。 所以這個開啟命令處理常式是在應用程式類別的成員函式。 如需有關命令和物件的路由方式的詳細資訊,請參閱架構呼叫處理常式的方式。