Windows消息大全(轉載)


消息              MSG_MAP                相應函數                       作用
WM_LBUTTONDOWN ON_WM_LBUTTONDOWN()       OnLButtonDown(UINT nFlags, CPoint poi
nt)   相應鼠標左健單擊
WM_ERASEBKGND  ON_MESSAGE(WM_ERASEBKGND,OnEraseBkgnd) OnEraseBkgnd(CDC *pDC)
       當背景重畫時相應
  WINDOWS消息說明
消息,就是指Wi n d o w s發出的一個通知,告訴應用程序某個事情發生了。例如,單
擊鼠標、改變
窗口尺寸、按下鍵盤上的一個鍵都會使Wi n d o w s發送一個消息給應用程序。
消息本身是作爲一個記錄傳遞給應用程序的,這個記錄中包含了消息的類型以及其他信
息。例如,
對於單擊鼠標所產生的消息來說,這個記錄中包含了單擊鼠標時的座標。這個記錄類型
叫做T M s g,它
在Wi n d o w s單元中是這樣聲明的:
t y p e
TMsg = packed record
hwnd: HWND; / /窗口句柄
message: UINT; / /消息常量標識符
wParam: WPA R A M ; // 32位消息的特定附加信息
lParam: LPA R A M ; // 32位消息的特定附加信息
time: DWORD; / /消息創建時的時間
pt: TPoint; / /消息創建時的鼠標位置
e n d ;
消息中有什麼?
是否覺得一個消息記錄中的信息像希臘語一樣?如果是這樣,那麼看一看下面的解釋:

hwnd 32位的窗口句柄。窗口可以是任何類型的屏幕對象,因爲Win32能夠維護大多數可

視對象的句柄(窗口、對話框、按鈕、編輯框等)。
message 用於區別其他消息的常量值,這些常量可以是Windows單元中預定義的常量,也

可以是自定義的常量。
wParam 通常是一個與消息有關的常量值,也可能是窗口或控件的句柄。
lParam 通常是一個指向內存中數據的指針。由於W P a r a m、l P a r a m和P o i n
t e r都是3 2位的,
因此,它們之間可以相互轉換。
    WM_NULL            = $0000;
  WM_CREATE          = $0001;
應用程序創建一個窗口
  WM_DESTROY          = $0002;
一個窗口被銷燬
  WM_MOVE            = $0003;
移動一個窗口
  WM_SIZE            = $0005;
改變一個窗口的大小
  WM_ACTIVATE        = $0006;
一個窗口被激活或失去激活狀態;
  WM_SETFOCUS        = $0007;
獲得焦點後
  WM_KILLFOCUS        = $0008;
失去焦點
  WM_ENABLE          = $000A;
改變enable狀態
  WM_SETREDRAW        = $000B;
設置窗口是否能重畫
  WM_SETTEXT          = $000C;
應用程序發送此消息來設置一個窗口的文本
  WM_GETTEXT          = $000D;
應用程序發送此消息來複制對應窗口的文本到緩衝區
  WM_GETTEXTLENGTH    = $000E;
得到與一個窗口有關的文本的長度(不包含空字符)
  WM_PAINT            = $000F;
要求一個窗口重畫自己
  WM_CLOSE            = $0010;
當一個窗口或應用程序要關閉時發送一個信號
  WM_QUERYENDSESSION  = $0011;
當用戶選擇結束對話框或程序自己調用ExitWindows函數
  WM_QUIT            = $0012;
用來結束程序運行或當程序調用postquitmessage函數
  WM_QUERYOPEN        = $0013;
當用戶窗口恢復以前的大小位置時,把此消息發送給某個圖標
  WM_ERASEBKGND      = $0014;
當窗口背景必須被擦除時(例在窗口改變大小時)
  WM_SYSCOLORCHANGE  = $0015;
當系統顏色改變時,發送此消息給所有頂級窗口
  WM_ENDSESSION      = $0016;
當系統進程發出WM_QUERYENDSESSION消息後,此消息發送給應用程序,
通知它對話是否結束
  WM_SYSTEMERROR      = $0017;
  WM_SHOWWINDOW      = $0018;
當隱藏或顯示窗口是發送此消息給這個窗口
  WM_ACTIVATEAPP      = $001C;
發此消息給應用程序哪個窗口是激活的,哪個是非激活的;
  WM_FONTCHANGE      = $001D;
當系統的字體資源庫變化時發送此消息給所有頂級窗口
  WM_TIMECHANGE      = $001E;
當系統的時間變化時發送此消息給所有頂級窗口
  WM_CANCELMODE      = $001F;
發送此消息來取消某種正在進行的摸態(操作)
  WM_SETCURSOR        = $0020;
如果鼠標引起光標在某個窗口中移動且鼠標輸入沒有被捕獲時,就發消息給某個窗口
  WM_MOUSEACTIVATE    = $0021;
當光標在某個非激活的窗口中而用戶正按着鼠標的某個鍵發送此消息給當前窗口
  WM_CHILDACTIVATE    = $0022;
發送此消息給MDI子窗口當用戶點擊此窗口的標題欄,或當窗口被激活,移動,改變大小

  WM_QUEUESYNC        = $0023;
此消息由基於計算機的訓練程序發送,通過WH_JOURNALPALYBACK的hook程序
分離出用戶輸入消息
  WM_GETMINMAXINFO    = $0024;
此消息發送給窗口當它將要改變大小或位置;
  WM_PAINTICON        = $0026;
發送給最小化窗口當它圖標將要被重畫
  WM_ICONERASEBKGND  = $0027;
  此消息發送給某個最小化窗口,僅當它在畫圖標前它的背景必須被重畫
  WM_NEXTDLGCTL      = $0028;
發送此消息給一個對話框程序去更改焦點位置
  WM_SPOOLERSTATUS    = $002A;
每當打印管理列隊增加或減少一條作業時發出此消息
  WM_DRAWITEM        = $002B;
  當button,combobox,listbox,menu的可視外觀改變時發送
此消息給這些空件的所有者
  WM_MEASUREITEM      = $002C;
當button, combo box, list box, list view control, or menu item 被創建時
發送此消息給控件的所有者
  WM_DELETEITEM      = $002D;
當the list box 或 combo box 被銷燬 或 當 某些項被刪除通過LB_DELETESTRING, LB
_RESETCONTENT,
CB_DELETESTRING, or CB_RESETCONTENT 消息
  WM_VKEYTOITEM      = $002E;
此消息有一個LBS_WANTKEYBOARDINPUT風格的發出給它的所有者來響應WM_KEYDOWN消息
  WM_CHARTOITEM      = $002F;
此消息由一個LBS_WANTKEYBOARDINPUT風格的列表框發送給他的所有者來響應WM_CHAR消

  WM_SETFONT          = $0030;
當繪製文本時程序發送此消息得到控件要用的顏色
  WM_GETFONT          = $0031;
應用程序發送此消息得到當前控件繪製文本的字體
  WM_SETHOTKEY        = $0032;
應用程序發送此消息讓一個窗口與一個熱鍵相關連
  WM_GETHOTKEY        = $0033;
應用程序發送此消息來判斷熱鍵與某個窗口是否有關聯
  WM_QUERYDRAGICON    = $0037;
此消息發送給最小化窗口,當此窗口將要被拖放而它的類中沒有定義圖標,應用程序能

返回一個圖標或光標的句柄,當用戶拖放圖標時系統顯示這個圖標或光標
  WM_COMPAREITEM      = $0039;
發送此消息來判定combobox或listbox新增加的項的相對位置
  WM_GETOBJECT        = $003D;
  WM_COMPACTING      = $0041;
顯示內存已經很少了
  WM_WINDOWPOSCHANGING = $0046;
發送此消息給那個窗口的大小和位置將要被改變時,來調用setwindowpos函數或其它窗
口管理函數
  WM_WINDOWPOSCHANGED = $0047;
發送此消息給那個窗口的大小和位置已經被改變時,來調用setwindowpos函數或其它窗
口管理函數
  WM_POWER            = $0048;(適用於16位的windows)
當系統將要進入暫停狀態時發送此消息
  WM_COPYDATA        = $004A;
當一個應用程序傳遞數據給另一個應用程序時發送此消息
  WM_CANCELJOURNAL    = $004B;
當某個用戶取消程序日誌激活狀態,提交此消息給程序
  WM_NOTIFY          = $004E;
當某個控件的某個事件已經發生或這個控件需要得到一些信息時,發送此消息給它的父
窗口
  WM_INPUTLANGCHANGEREQUEST = $0050;
當用戶選擇某種輸入語言,或輸入語言的熱鍵改變
  WM_INPUTLANGCHANGE  = $0051;
當平臺現場已經被改變後發送此消息給受影響的最頂級窗口
  WM_TCARD            = $0052;
當程序已經初始化windows幫助例程時發送此消息給應用程序
  WM_HELP            = $0053;
此消息顯示用戶按下了F1,如果某個菜單是激活的,就發送此消息個此窗口關聯的菜單
,否則就
發送給有焦點的窗口,如果當前都沒有焦點,就把此消息發送給當前激活的窗口
  WM_USERCHANGED      = $0054;
當用戶已經登入或退出後發送此消息給所有的窗口,當用戶登入或退出時系統更新用戶
的具體
設置信息,在用戶更新設置時系統馬上發送此消息;
  WM_NOTIFYFORMAT    = $0055;
公用控件,自定義控件和他們的父窗口通過此消息來判斷控件是使用ANSI還是UNICODE結

在WM_NOTIFY消息,使用此控件能使某個控件與它的父控件之間進行相互通信
  WM_CONTEXTMENU      = $007B;
當用戶某個窗口中點擊了一下右鍵就發送此消息給這個窗口
  WM_STYLECHANGING    = $007C;
當調用SETWINDOWLONG函數將要改變一個或多個 窗口的風格時發送此消息給那個窗口
  WM_STYLECHANGED    = $007D;
當調用SETWINDOWLONG函數一個或多個 窗口的風格後發送此消息給那個窗口
  WM_DISPLAYCHANGE    = $007E;
當顯示器的分辨率改變後發送此消息給所有的窗口
  WM_GETICON          = $007F;
此消息發送給某個窗口來返回與某個窗口有關連的大圖標或小圖標的句柄;
  WM_SETICON          = $0080;
程序發送此消息讓一個新的大圖標或小圖標與某個窗口關聯;
  WM_NCCREATE        = $0081;
當某個窗口第一次被創建時,此消息在WM_CREATE消息發送前發送;
  WM_NCDESTROY        = $0082;
此消息通知某個窗口,非客戶區正在銷燬
  WM_NCCALCSIZE      = $0083;
當某個窗口的客戶區域必須被覈算時發送此消息
  WM_NCHITTEST        = $0084;//移動鼠標,按住或釋放鼠標時發生
  WM_NCPAINT          = $0085;
程序發送此消息給某個窗口當它(窗口)的框架必須被繪製時;
  WM_NCACTIVATE      = $0086;
此消息發送給某個窗口 僅當它的非客戶區需要被改變來顯示是激活還是非激活狀態;
  WM_GETDLGCODE      = $0087;
發送此消息給某個與對話框程序關聯的控件,widdows控制方位鍵和TAB鍵使輸入進入此
控件
通過響應WM_GETDLGCODE消息,應用程序可以把他當成一個特殊的輸入控件並能處理它
  WM_NCMOUSEMOVE      = $00A0;
當光標在一個窗口的非客戶區內移動時發送此消息給這個窗口      file://非客戶區爲
:窗體的標題欄及窗
  (VC++技術內幕(第四版)後邊的附錄A裏就有MFC的所有消息。)
  WM_SYSKEYDOWN      = $0104;
當用戶按住ALT鍵同時按下其它鍵時提交此消息給擁有焦點的窗口;
  WM_SYSKEYUP        = $0105;
當用戶釋放一個鍵同時ALT 鍵還按着時提交此消息給擁有焦點的窗口
  WM_SYSCHAR          = $0106;
當WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數翻譯後提交此消息給擁有焦點的窗口
  WM_SYSDEADCHAR      = $0107;
當WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數翻譯後發送此消息給擁有焦點的窗口
  WM_KEYLAST          = $0108;
  WM_INITDIALOG      = $0110;
在一個對話框程序被顯示前發送此消息給它,通常用此消息初始化控件和執行其它任務

  WM_COMMAND          = $0111;
當用戶選擇一條菜單命令項或當某個控件發送一條消息給它的父窗口,一個快捷鍵被翻

  WM_SYSCOMMAND      = $0112;
當用戶選擇窗口菜單的一條命令或當用戶選擇最大化或最小化時那個窗口會收到此消息

  WM_TIMER            = $0113;                file://發生了定時器事件
  WM_HSCROLL          = $0114;
當一個窗口標準水平滾動條產生一個滾動事件時發送此消息給那個窗口,也發送給擁有
它的控件
  WM_VSCROLL          = $0115;
當一個窗口標準垂直滾動條產生一個滾動事件時發送此消息給那個窗口也,發送給擁有
它的控件
  WM_INITMENU         = $0116;
當一個菜單將要被激活時發送此消息,它發生在用戶菜單條中的某項或按下某個菜單鍵
,它允許
程序在顯示前更改菜單
  WM_INITMENUPOPUP    = $0117;
當一個下拉菜單或子菜單將要被激活時發送此消息,它允許程序在它顯示前更改菜單,
而不要
改變全部
WM_MENUSELECT      = $011F;
當用戶選擇一條菜單項時發送此消息給菜單的所有者(一般是窗口)
  WM_MENUCHAR        = $0120;
當菜單已被激活用戶按下了某個鍵(不同於加速鍵),發送此消息給菜單的所有者;
  WM_ENTERIDLE        = $0121;
當一個模態對話框或菜單進入空載狀態時發送此消息給它的所有者,一個模態對話框或
菜單進入空載狀態
就是在處理完一條或幾條先前的消息後沒有消息它的列隊中等待
  WM_MENURBUTTONUP    = $0122;
  WM_MENUDRAG        = $0123;
  WM_MENUGETOBJECT    = $0124;
  WM_UNINITMENUPOPUP  = $0125;
  WM_MENUCOMMAND      = $0126;
  WM_CHANGEUISTATE    = $0127;
  WM_UPDATEUISTATE    = $0128;
  WM_QUERYUISTATE    = $0129;
  WM_CTLCOLORMSGBOX  = $0132;
在windows繪製消息框前發送此消息給消息框的所有者窗口,通過響應這條消息,所有者
窗口可以
通過使用給定的相關顯示設備的句柄來設置消息框的文本和背景顏色
  WM_CTLCOLOREDIT    = $0133;
當一個編輯型控件將要被繪製時發送此消息給它的父窗口;通過響應這條消息,所有者
窗口可以
通過使用給定的相關顯示設備的句柄來設置編輯框的文本和背景顏色
  WM_CTLCOLORLISTBOX  = $0134;
當一個列表框控件將要被繪製前發送此消息給它的父窗口;通過響應這條消息,所有者
窗口可以
通過使用給定的相關顯示設備的句柄來設置列表框的文本和背景顏色
WM_CTLCOLORBTN      = $0135;
當一個按鈕控件將要被繪製時發送此消息給它的父窗口;通過響應這條消息,所有者窗
口可以
通過使用給定的相關顯示設備的句柄來設置按紐的文本和背景顏色
  WM_CTLCOLORDLG      = $0136;
當一個對話框控件將要被繪製前發送此消息給它的父窗口;通過響應這條消息,所有者
窗口可以
通過使用給定的相關顯示設備的句柄來設置對話框的文本背景顏色
  WM_CTLCOLORSCROLLBAR= $0137;
當一個滾動條控件將要被繪製時發送此消息給它的父窗口;通過響應這條消息,所有者
窗口可以
通過使用給定的相關顯示設備的句柄來設置滾動條的背景顏色
  WM_CTLCOLORSTATIC  = $0138;
當一個靜態控件將要被繪製時發送此消息給它的父窗口;通過響應這條消息,所有者窗
口可以
通過使用給定的相關顯示設備的句柄來設置靜態控件的文本和背景顏色
  WM_MOUSEFIRST      = $0200;
  WM_MOUSEMOVE        = $0200;
                  //  移動鼠標
  WM_LBUTTONDOWN      = $0201;
                    file://按下鼠標左鍵
  WM_LBUTTONUP        = $0202;
                  file://釋放鼠標左鍵
  WM_LBUTTONDBLCLK    = $0203;
                  file://雙擊鼠標左鍵
  WM_RBUTTONDOWN      = $0204;
                  file://按下鼠標右鍵
  WM_RBUTTONUP        = $0205;
                  file://釋放鼠標右鍵
  WM_RBUTTONDBLCLK    = $0206;
                file://雙擊鼠標右鍵
  WM_MBUTTONDOWN      = $0207;
                file://按下鼠標中鍵
  WM_MBUTTONUP        = $0208;
                file://釋放鼠標中鍵
  WM_MBUTTONDBLCLK    = $0209;
                  file://雙擊鼠標中鍵
  WM_MOUSEWHEEL      = $020A;
當鼠標輪子轉動時發送此消息個當前有焦點的控件
  WM_MOUSELAST        = $020A;
  WM_PARENTNOTIFY    = $0210;
當MDI子窗口被創建或被銷燬,或用戶按了一下鼠標鍵而光標在子窗口上時發送此消息給
它的父窗口
  WM_ENTERMENULOOP    = $0211;
發送此消息通知應用程序的主窗口that已經進入了菜單循環模式
  WM_EXITMENULOOP    = $0212;
發送此消息通知應用程序的主窗口that已退出了菜單循環模式
  WM_NEXTMENU        = $0213;
  WM_SIZING          = 532;
當用戶正在調整窗口大小時發送此消息給窗口;通過此消息應用程序可以監視窗口大小
和位置
也可以修改他們
  WM_CAPTURECHANGED  = 533;
發送此消息 給窗口當它失去捕獲的鼠標時;
  WM_MOVING          = 534;
當用戶在移動窗口時發送此消息,通過此消息應用程序可以監視窗口大小和位置
也可以修改他們;
  WM_POWERBROADCAST  = 536;
此消息發送給應用程序來通知它有關電源管理事件;
  WM_DEVICECHANGE    = 537;
當設備的硬件配置改變時發送此消息給應用程序或設備驅動程序
  WM_IME_STARTCOMPOSITION        = $010D;
  WM_IME_ENDCOMPOSITION          = $010E;
  WM_IME_COMPOSITION            = $010F;
  WM_IME_KEYLAST                = $010F;
  WM_IME_SETCONTEXT              = $0281;
  WM_IME_NOTIFY                  = $0282;
  WM_IME_CONTROL                = $0283;
  WM_IME_COMPOSITIONFULL        = $0284;
  WM_IME_SELECT                  = $0285;
  WM_IME_CHAR                    = $0286;
  WM_IME_REQUEST                = $0288;
  WM_IME_KEYDOWN                = $0290;
  WM_IME_KEYUP                  = $0291;
  WM_MDICREATE        = $0220;
應用程序發送此消息給多文檔的客戶窗口來創建一個MDI 子窗口
  WM_MDIDESTROY      = $0221;
應用程序發送此消息給多文檔的客戶窗口來關閉一個MDI 子窗口
  WM_MDIACTIVATE      = $0222;
應用程序發送此消息給多文檔的客戶窗口通知客戶窗口激活另一個MDI子窗口,當客戶窗
口收到
此消息後,它發出WM_MDIACTIVE消息給MDI子窗口(未激活)激活它;
  WM_MDIRESTORE      = $0223;
程序 發送此消息給MDI客戶窗口讓子窗口從最大最小化恢復到原來大小
  WM_MDINEXT          = $0224;
程序 發送此消息給MDI客戶窗口激活下一個或前一個窗口
  WM_MDIMAXIMIZE      = $0225;
程序發送此消息給MDI客戶窗口來最大化一個MDI子窗口;
  WM_MDITILE          = $0226;
程序 發送此消息給MDI客戶窗口以平鋪方式重新排列所有MDI子窗口
  WM_MDICASCADE      = $0227;
程序 發送此消息給MDI客戶窗口以層疊方式重新排列所有MDI子窗口
  WM_MDIICONARRANGE  = $0228;
程序 發送此消息給MDI客戶窗口重新排列所有最小化的MDI子窗口
  WM_MDIGETACTIVE    = $0229;
程序 發送此消息給MDI客戶窗口來找到激活的子窗口的句柄
  WM_MDISETMENU      = $0230;
程序 發送此消息給MDI客戶窗口用MDI菜單代替子窗口的菜單
  WM_ENTERSIZEMOVE    = $0231;
  WM_EXITSIZEMOVE    = $0232;
  WM_DROPFILES        = $0233;
  WM_MDIREFRESHMENU  = $0234;
  WM_MOUSEHOVER      = $02A1;
  WM_MOUSELEAVE      = $02A3;
  WM_CUT              = $0300;
程序發送此消息給一個編輯框或combobox來刪除當前選擇的文本
  WM_COPY            = $0301;
程序發送此消息給一個編輯框或combobox來複制當前選擇的文本到剪貼板
  WM_PASTE            = $0302;
程序發送此消息給editcontrol或combobox從剪貼板中得到數據
  WM_CLEAR            = $0303;
程序發送此消息給editcontrol或combobox清除當前選擇的內容;
  WM_UNDO            = $0304;
程序發送此消息給editcontrol或combobox撤消最後一次操作
  WM_RENDERFORMAT    = $0305;
  WM_RENDERALLFORMATS = $0306;
  WM_DESTROYCLIPBOARD = $0307;
當調用ENPTYCLIPBOARD函數時 發送此消息給剪貼板的所有者
  WM_DRAWCLIPBOARD    = $0308;
當剪貼板的內容變化時發送此消息給剪貼板觀察鏈的第一個窗口;它允許用剪貼板觀察
窗口來
顯示剪貼板的新內容;
  WM_PAINTCLIPBOARD  = $0309;
當剪貼板包含CF_OWNERDIPLAY格式的數據並且剪貼板觀察窗口的客戶區需要重畫;
  WM_VSCROLLCLIPBOARD = $030A;
  WM_SIZECLIPBOARD    = $030B;
當剪貼板包含CF_OWNERDIPLAY格式的數據並且剪貼板觀察窗口的客戶區域的大小已經改
變是此消息通過剪貼板
觀察窗口發送給剪貼板的所有者;
  WM_ASKCBFORMATNAME  = $030C;
通過剪貼板觀察窗口發送此消息給剪貼板的所有者來請求一個CF_OWNERDISPLAY格式的剪
貼板的名字
  WM_CHANGECBCHAIN    = $030D;
當一個窗口從剪貼板觀察鏈中移去時發送此消息給剪貼板觀察鏈的第一個窗口;
  WM_HSCROLLCLIPBOARD = $030E;
此消息通過一個剪貼
回覆人: xiaoxieyu(小魚) (  ) 信譽:100  2002-5-28 14:13:25  得分:10
  WM_PRINTCLIENT      = 792;
  WM_HANDHELDFIRST    = 856;
  WM_HANDHELDLAST    = 863;
  WM_PENWINFIRST      = $0380;
  WM_PENWINLAST      = $038F;
  WM_COALESCE_FIRST  = $0390;
  WM_COALESCE_LAST    = $039F;
  WM_DDE_FIRST        = $03E0;
  WM_DDE_INITIATE    = WM_DDE_FIRST + 0;
一個DDE客戶程序提交此消息開始一個與服務器程序的會話來響應那個指定的程序和主題
名;
  WM_DDE_TERMINATE    = WM_DDE_FIRST + 1;
一個DDE應用程序(無論是客戶還是服務器)提交此消息來終止一個會話;
  WM_DDE_ADVISE      = WM_DDE_FIRST + 2;
一個DDE客戶程序提交此消息給一個DDE服務程序來請求服務器每當數據項改變時更新它

  WM_DDE_UNADVISE    = WM_DDE_FIRST + 3;
一個DDE客戶程序通過此消息通知一個DDE服務程序不更新指定的項或一個特殊的剪貼板
格式的項
  WM_DDE_ACK          = WM_DDE_FIRST + 4;
此消息通知一個DDE(動態數據交換)程序已收到並正在處理WM_DDE_POKE, WM_DDE_EXE
CUTE, WM_DDE_DATA,
WM_DDE_ADVISE, WM_DDE_UNADVISE, or WM_DDE_INITIAT消息
  WM_DDE_DATA        = WM_DDE_FIRST + 5;
一個DDE服務程序提交此消息給DDE客戶程序來傳遞個一數據項給客戶或通知客戶的一條
可用數據項
  WM_DDE_REQUEST      = WM_DDE_FIRST + 6;
一個DDE客戶程序提交此消息給一個DDE服務程序來請求一個數據項的值;
  WM_DDE_POKE        = WM_DDE_FIRST + 7;
一個DDE客戶程序提交此消息給一個DDE服務程序,客戶使用此消息來請求服務器接收一
個未經同意的數據項;
服務器通過答覆WM_DDE_ACK消息提示是否它接收這個數據項;
  WM_DDE_EXECUTE      = WM_DDE_FIRST + 8;
一個DDE客戶程序提交此消息給一個DDE服務程序來發送一個字符串給服務器讓它象串行
命令一樣被處理,
服務器通過提交WM_DDE_ACK消息來作迴應;
  WM_DDE_LAST        = WM_DDE_FIRST + 8;
  WM_APP = $8000;
  WM_USER            = $0400;
此消息能幫助應用程序自定義私有消息;
/////////////////////////////////////////////////////////////////////
通知消息(Notification message)是指這樣一種消息,一個窗口內的子控件發生了一些
事情,需要通
知父窗口。通知消息只適用於標準的窗口控件如按鈕、列表框、組合框、編輯框,以及
Windows 95公
共控件如樹狀視圖、列表視圖等。例如,單擊或雙擊一個控件、在控件中選擇部分文本
、操作控件的
滾動條都會產生通知消息。
    按扭
B N _ C L I C K E D                        file://用戶單擊了按鈕
B N _ D I S A B L E                        file://按鈕被禁止
B N _ D O U B L E C L I C K E D    file://用戶雙擊了按鈕
B N _ H I L I T E                        file://用戶加亮了按鈕
B N _ PA I N T按鈕應當重畫
B N _ U N H I L I T E加亮應當去掉
組合框
C B N _ C L O S E U P組合框的列表框被關閉
C B N _ D B L C L K用戶雙擊了一個字符串
C B N _ D R O P D O W N組合框的列表框被拉出
C B N _ E D I T C H A N G E用戶修改了編輯框中的文本
C B N _ E D I T U P D AT E編輯框內的文本即將更新
C B N _ E R R S PA C E組合框內存不足
C B N _ K I L L F O C U S組合框失去輸入焦點
C B N _ S E L C H A N G E在組合框中選擇了一項
C B N _ S E L E N D C A N C E L用戶的選擇應當被取消
C B N _ S E L E N D O K用戶的選擇是合法的
C B N _ S E T F O C U S組合框獲得輸入焦點
編輯框
E N _ C H A N G E編輯框中的文本己更新
E N _ E R R S PA C E編輯框內存不足
E N _ H S C R O L L用戶點擊了水平滾動條
E N _ K I L L F O C U S編輯框正在失去輸入焦點
E N _ M A X T E X T插入的內容被截斷
E N _ S E T F O C U S編輯框獲得輸入焦點
E N _ U P D AT E編輯框中的文本將要更新
E N _ V S C R O L L用戶點擊了垂直滾動條消息含義
列表框
L B N _ D B L C L K用戶雙擊了一項
L B N _ E R R S PA C E列表框內存不夠
L B N _ K I L L F O C U S列表框正在失去輸入焦點
L B N _ S E L C A N C E L選擇被取消
L B N _ S E L C H A N G E選擇了另一項
L B N _ S E T F O C U S列表框獲得輸入焦點
回覆人: delphihero(阿蒙(C++)) (  ) 信譽:97  2002-5-28 14:24:59  得分:30
  沒用的你要使用才能清除的瞭解
消息              MSG_MAP              相應函數              作用
WM_LBUTTONDOWN ON_WM_LBUTTONDOWN()   OnLButtonDown(UINT nFlags, CPoint point
)
後面的函數是可以變得,你看了深入淺出mfc就知道,是用宏來把出處理消息的函數和消
息連接在一起。
在 vc.net 中很多函數名字有了變化,和vc6 中有點不同了。如果你想看消息
windows.h 文件中聲明瞭所有的消息
  WM_COPY_DATA    數據傳送消息
  這是我從visual c++上COPY來的消息函數
Appendix A
Message Map Functions in the Microsoft Foundation Class Library
HANDLERS FOR WM_COMMAND MESSAGES
Map Entry Function Prototype
ON_COMMAND(<id>, <memberFxn>) afx_msg void memberFxn();
ON_COMMAND_EX(<id>, <memberFxn>) afx_msg BOOL memberFxn(UINT);
ON_COMMAND_EX_RANGE(<id>, <idLast>, <memberFxn>) afx_msg BOOL memberFxn(UINT
);
ON_COMMAND_RANGE(<id>, <idLast>, <memberFxn>) afx_msg void memberFxn(UINT);
ON_UPDATE_COMMAND_UI(<id>, <memberFxn>) afx_msg void memberFxn(CCmdUI*);
ON_UPDATE_COMMAND_UI_RANGE (<id>, <idLast>, <memberFxn>) afx_msg void member
Fxn(CCmdUI*);
ON_UPDATE_COMMAND_UI_REFLECT (<memberFxn>) afx_msg void memberFxn(CCmdUI*);
HANDLERS FOR CHILD WINDOW NOTIFICATION MESSAGES
Map Entry Function Prototype
Generic Control Notification Codes
ON_CONTROL(<wNotifyCode>, <id>, <memberFxn>) afx_msg void memberFxn();
ON_CONTROL_RANGE(<wNotifyCode>, <id> <idLast>, <memberFxn>) afx_msg void mem
berFxn(UINT);
ON_CONTROL_REFLECT(<wNotifyCode>, <memberFxn>) afx_msg void memberFxn();
ON_CONTROL_REFLECT_EX(<wNotifyCode>, <memberFxn>) afx_msg BOOL memberFxn();
ON_NOTIFY(<wNotifyCode>, <id>, <memberFxn>) afx_msg void memberFxn(NMHDR*, L
RESULT*);
ON_NOTIFY_EX(<wNotifyCode>, <id>, <memberFxn>) afx_msg BOOL memberFxn(UINT,
NMHDR*, LRESULT*);
ON_NOTIFY_EX_RANGE(<wNotifyCode>, <id>, <idLast>, <memberFxn>) afx_msg BOOL
memberFxn(UINT, NMHDR*, LRESULT*);
ON_NOTIFY_RANGE(<wNotifyCode>, <id>, <idLast>, <memberFxn>) afx_msg void mem
berFxn(UINT, NMHDR*, LRESULT*);
ON_NOTIFY_REFLECT(<wNotifyCode>, <memberFxn>) afx_msg void memberFxn(NMHDR*,
LRESULT*);
ON_NOTIFY_REFLECT_EX(<wNotifyCode>, <memberFxn>) afx_msg BOOL memberFxn(NMHD
R*, LRESULT*);
User Button Notification Codes
ON_BN_CLICKED(<id>, <memberFxn>) afx_msg void memberFxn();
ON_BN_DOUBLECLICKED(<id>, <memberFxn>) afx_msg void memberFxn();
ON_BN_KILLFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
ON_BN_SETFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
Combo Box Notification Codes
ON_CBN_CLOSEUP(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_DBLCLK(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_DROPDOWN(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_EDITCHANGE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_EDITUPDATE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_ERRSPACE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_KILLFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_SELCHANGE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_SELENDCANCEL(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_SELENDOK(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_SETFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
Check List Box Notification Codes
ON_CLBN_CHKCHANGE(<id>, <memberFxn>) afx_msg void memberFxn();
Edit Control Notification Codes
ON_EN_CHANGE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_ERRSPACE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_HSCROLL(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_KILLFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_MAXTEXT(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_SETFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_UPDATE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_VSCROLL(<id>, <memberFxn>) afx_msg void memberFxn();
List Box Notification Codes
ON_LBN_DBLCLK(<id>, <memberFxn>) afx_msg void memberFxn();
ON_LBN_ERRSPACE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_LBN_KILLFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
ON_LBN_SELCANCEL(<id>, <memberFxn>) afx_msg void memberFxn();
ON_LBN_SELCHANGE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_LBN_SETFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
Static Control Notification Codes
ON_STN_CLICKED(<id>, <memberFxn>) afx_msg void memberFxn();
ON_STN_DBLCLK(<id>, <memberFxn>) afx_msg void memberFxn();
ON_STN_DISABLE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_STN_ENABLE(<id>, <memberFxn>) afx_msg void memberFxn();
Top
回覆人: scxy(小熊) (  ) 信譽:94  2002-5-28 16:06:21  得分:0
  HANDLERS FOR WINDOW NOTIFICATION MESSAGES
Map Entry Function Prototype
ON_WM_ACTIVATE() afx_msg void OnActivate(UINT, CWnd*, BOOL);
ON_WM_ACTIVATEAPP() afx_msg void OnActivateApp(BOOL, HTASK);
ON_WM_ASKCBFORMATNAME() afx_msg void OnAskCbFormatName(UINT, LPTSTR);
ON_WM_CANCELMODE() afx_msg void OnCancelMode();
ON_WM_CAPTURECHANGED() afx_msg void OnCaptureChanged(CWnd*);
ON_WM_CHANGECBCHAIN() afx_msg void OnChangeCbChain(HWND, HWND);
ON_WM_CHAR() afx_msg void OnChar(UINT, UINT, UINT);
ON_WM_CHARTOITEM() afx_msg int OnCharToItem(UINT, CListBox*, UINT);
ON_WM_CHARTOITEM_REFLECT() afx_msg int CharToItem(UINT, UINT);
ON_WM_CHILDACTIVATE() afx_msg void OnChildActivate();
ON_WM_CLOSE() afx_msg void OnClose();
ON_WM_COMPACTING() afx_msg void OnCompacting(UINT);
ON_WM_COMPAREITEM() afx_msg int OnCompareItem(int, LPCOMPAREITEMSTRUCT);
ON_WM_COMPAREITEM_REFLECT() afx_msg int CompareItem (LPCOMPAREITEMSTRUCT);
ON_WM_CONTEXTMENU() afx_msg void OnContextMenu(CWnd*, CPoint);
ON_WM_COPYDATA() afx_msg BOOL OnCopyData(CWnd*, COPYDATASTRUCT*);
ON_WM_CREATE() afx_msg int OnCreate(LPCREATESTRUCT);
ON_WM_CTLCOLOR() afx_msg HBRUSH OnCtlColor(CDC*, CWnd*, UINT);
ON_WM_CTLCOLOR_REFLECT() afx_msg HBRUSH CtlColor(CDC*, UINT);
ON_WM_DEADCHAR() afx_msg void OnDeadChar(UINT, UINT, UINT);
ON_WM_DELETEITEM() afx_msg void OnDeleteItem(int, LPDELETEITEMSTRUCT);
ON_WM_DELETEITEM_REFLECT() afx_msg void DeleteItem (LPDELETEITEMSTRUCT)
ON_WM_DESTROY() afx_msg void OnDestroy();
ON_WM_DESTROYCLIPBOARD() afx_msg void OnDestroyClipboard();
ON_WM_DEVICECHANGE() afx_msg BOOL OnDeviceChange(UINT, DWORD);
ON_WM_DEVMODECHANGE() afx_msg void OnDevModeChange(LPTSTR);
ON_WM_DRAWCLIPBOARD() afx_msg void OnDrawClipboard();
ON_WM_DRAWITEM() afx_msg void OnDrawItem(int, LPDRAWITEMSTRUCT);
ON_WM_DRAWITEM_REFLECT() afx_msg void DrawItem (LPDRAWITEMSTRUCT);
ON_WM_DROPFILES() afx_msg void OnDropFiles(HDROP);
ON_WM_ENABLE() afx_msg void OnEnable(BOOL);
ON_WM_ENDSESSION() afx_msg void OnEndSession(BOOL);
ON_WM_ENTERIDLE() afx_msg void OnEnterIdle(UINT, CWnd*);
ON_WM_ENTERMENULOOP() afx_msg void OnEnterMenuLoop(BOOL);
ON_WM_ERASEBKGND() afx_msg BOOL OnEraseBkgnd(CDC*);
ON_WM_EXITMENULOOP() afx_msg void OnExitMenuLoop(BOOL);
ON_WM_FONTCHANGE() afx_msg void OnFontChange();
ON_WM_GETDLGCODE() afx_msg UINT OnGetDlgCode();
ON_WM_GETMINMAXINFO() afx_msg void OnGetMinMaxInfo (MINMAXINFO*);
ON_WM_HELPINFO() afx_msg BOOL OnHelpInfo(HELPINFO*);
ON_WM_HSCROLL() afx_msg void OnHScroll(UINT, UINT, CScrollBar*);
ON_WM_HSCROLL_REFLECT() afx_msg void HScroll(UINT, UINT);
ON_WM_HSCROLLCLIPBOARD() afx_msg void OnHScrollClipboard(CWnd*, UINT, UINT);

ON_WM_ICONERASEBKGND() afx_msg void OnIconEraseBkgnd(CDC*);
ON_WM_INITMENU() afx_msg void OnInitMenu(CMenu*);
ON_WM_INITMENUPOPUP() afx_msg void OnInitMenuPopup(CMenu*, UINT, BOOL);
ON_WM_KEYDOWN() afx_msg void OnKeyDown(UINT, UINT, UINT);
ON_WM_KEYUP() afx_msg void OnKeyUp(UINT, UINT, UINT);
ON_WM_KILLFOCUS() afx_msg void OnKillFocus(CWnd*);
ON_WM_LBUTTONDBLCLK() afx_msg void OnLButtonDblClk(UINT, CPoint);
ON_WM_LBUTTONDOWN() afx_msg void OnLButtonDown(UINT, CPoint);
ON_WM_LBUTTONUP() afx_msg void OnLButtonUp(UINT, CPoint);
ON_WM_MBUTTONDBLCLK() afx_msg void OnMButtonDblClk(UINT, CPoint);
ON_WM_MBUTTONDOWN() afx_msg void OnMButtonDown(UINT, CPoint);
ON_WM_MBUTTONUP() afx_msg void OnMButtonUp(UINT, CPoint);
ON_WM_MDIACTIVATE() afx_msg void OnMDIActivate(BOOL, CWnd*, CWnd*);
ON_WM_MEASUREITEM() afx_msg void OnMeasureItem(int, LPMEASUREITEMSTRUCT);
ON_WM_MEASUREITEM_REFLECT() afx_msg void MeasureItem (LPMEASUREITEMSTRUCT);
ON_WM_MENUCHAR() afx_msg LRESULT OnMenuChar(UINT, UINT, CMenu*);
ON_WM_MENUSELECT() afx_msg void OnMenuSelect(UINT, UINT, HMENU);
ON_WM_MOUSEACTIVATE() afx_msg int OnMouseActivate(CWnd*, UINT, UINT);
ON_WM_MOUSEMOVE() afx_msg void OnMouseMove(UINT, CPoint);
ON_WM_MOUSEWHEEL() afx_msg BOOL OnMouseWheel(UINT, short, CPoint);
ON_WM_MOVE() afx_msg void OnMove(int, int);
ON_WM_MOVING() afx_msg void OnMoving(UINT, LPRECT);
ON_WM_NCACTIVATE() afx_msg BOOL OnNcActivate(BOOL);
ON_WM_NCCALCSIZE() afx_msg void OnNcCalcSize(BOOL, NCCALCSIZE_PARAMS*);
ON_WM_NCCREATE() afx_msg BOOL OnNcCreate (LPCREATESTRUCT);
ON_WM_NCDESTROY() afx_msg void OnNcDestroy();
ON_WM_NCHITTEST() afx_msg UINT OnNcHitTest(CPoint);
ON_WM_NCLBUTTONDBLCLK() afx_msg void OnNcLButtonDblClk(UINT, CPoint);
ON_WM_NCLBUTTONDOWN() afx_msg void OnNcLButtonDown(UINT, CPoint);
ON_WM_NCLBUTTONUP() afx_msg void OnNcLButtonUp(UINT, CPoint);
ON_WM_NCMBUTTONDBLCLK() afx_msg void OnNcMButtonDblClk(UINT, CPoint);
ON_WM_NCMBUTTONDOWN() afx_msg void OnNcMButtonDown(UINT, CPoint);
ON_WM_NCMBUTTONUP() afx_msg void OnNcMButtonUp(UINT, CPoint);
ON_WM_NCMOUSEMOVE() afx_msg void OnNcMouseMove(UINT, CPoint);
ON_WM_NCPAINT() afx_msg void OnNcPaint();
ON_WM_NCRBUTTONDBLCLK() afx_msg void OnNcRButtonDblClk(UINT,


--
生命誠可貴,愛情價更高。
若爲自由故,二者皆可拋。這是我在CSDN上看到的一個帖子,很有價值,我稍微整理了
一下。
我在實際編程中越來越感到消息的相應在我們的程序中是一個非常重要的部分,有一些
普通的消息我們可以
在ClassWizard的添加其相應函數,但就算我們能找到一些消息但有的時候也不知道是什
麼意思,相應他有
什麼用,還有一些特殊的消息是在ClassWizard裏沒有的,只有有豐富經驗的才知道,這
對我們操作程序帶來
很大不便,所以我在此提議各位朋友把自己知道的消息以及參數還有VC裏默認的相應函
數列舉出來,儘自己
的努力幫助大家瞭解windows的消息,也幫助自己!
在此我先拋磚引玉:
消息              MSG_MAP                相應函數                 作用
WM_LBUTTONDOWN ON_WM_LBUTTONDOWN()     OnLButtonDown(UINT nFlags, CPoint poi
nt)   相應鼠標左健單擊
WM_ERASEBKGND  ON_MESSAGE(WM_ERASEBKGND,OnEraseBkgnd) OnEraseBkgnd(CDC *pDC)
       當背景重畫時相應
  WINDOWS消息說明
消息,就是指Wi n d o w s發出的一個通知,告訴應用程序某個事情發生了。例如,單
擊鼠標、改變
窗口尺寸、按下鍵盤上的一個鍵都會使Wi n d o w s發送一個消息給應用程序。
消息本身是作爲一個記錄傳遞給應用程序的,這個記錄中包含了消息的類型以及其他信
息。例如,
對於單擊鼠標所產生的消息來說,這個記錄中包含了單擊鼠標時的座標。這個記錄類型
叫做T M s g,它
在Wi n d o w s單元中是這樣聲明的:
t y p e
TMsg = packed record
hwnd: HWND; / /窗口句柄
message: UINT; / /消息常量標識符
wParam: WPA R A M ; // 32位消息的特定附加信息
lParam: LPA R A M ; // 32位消息的特定附加信息
time: DWORD; / /消息創建時的時間
pt: TPoint; / /消息創建時的鼠標位置
e n d ;
消息中有什麼?
是否覺得一個消息記錄中的信息像希臘語一樣?如果是這樣,那麼看一看下面的解釋:

hwnd 32位的窗口句柄。窗口可以是任何類型的屏幕對象,因爲Win32能夠維護大多數可

視對象的句柄(窗口、對話框、按鈕、編輯框等)。
message 用於區別其他消息的常量值,這些常量可以是Windows單元中預定義的常量,也

可以是自定義的常量。
wParam 通常是一個與消息有關的常量值,也可能是窗口或控件的句柄。
lParam 通常是一個指向內存中數據的指針。由於W P a r a m、l P a r a m和P o i n
t e r都是3 2位的,
因此,它們之間可以相互轉換。
    WM_NULL            = $0000;
  WM_CREATE          = $0001;
應用程序創建一個窗口
  WM_DESTROY          = $0002;
一個窗口被銷燬
  WM_MOVE            = $0003;
移動一個窗口
  WM_SIZE            = $0005;
改變一個窗口的大小
  WM_ACTIVATE        = $0006;
一個窗口被激活或失去激活狀態;
  WM_SETFOCUS        = $0007;
獲得焦點後
  WM_KILLFOCUS        = $0008;
失去焦點
  WM_ENABLE          = $000A;
改變enable狀態
  WM_SETREDRAW        = $000B;
設置窗口是否能重畫
  WM_SETTEXT          = $000C;
應用程序發送此消息來設置一個窗口的文本
  WM_GETTEXT          = $000D;
應用程序發送此消息來複制對應窗口的文本到緩衝區
  WM_GETTEXTLENGTH    = $000E;
得到與一個窗口有關的文本的長度(不包含空字符)
  WM_PAINT            = $000F;
要求一個窗口重畫自己
  WM_CLOSE            = $0010;
當一個窗口或應用程序要關閉時發送一個信號
  WM_QUERYENDSESSION  = $0011;
當用戶選擇結束對話框或程序自己調用ExitWindows函數
  WM_QUIT            = $0012;
用來結束程序運行或當程序調用postquitmessage函數
  WM_QUERYOPEN        = $0013;
當用戶窗口恢復以前的大小位置時,把此消息發送給某個圖標
  WM_ERASEBKGND      = $0014;
當窗口背景必須被擦除時(例在窗口改變大小時)
  WM_SYSCOLORCHANGE  = $0015;
當系統顏色改變時,發送此消息給所有頂級窗口
  WM_ENDSESSION      = $0016;
當系統進程發出WM_QUERYENDSESSION消息後,此消息發送給應用程序,
通知它對話是否結束
  WM_SYSTEMERROR      = $0017;
  WM_SHOWWINDOW      = $0018;
當隱藏或顯示窗口是發送此消息給這個窗口
  WM_ACTIVATEAPP      = $001C;
發此消息給應用程序哪個窗口是激活的,哪個是非激活的;
  WM_FONTCHANGE      = $001D;
當系統的字體資源庫變化時發送此消息給所有頂級窗口
  WM_TIMECHANGE      = $001E;
當系統的時間變化時發送此消息給所有頂級窗口
  WM_CANCELMODE      = $001F;
發送此消息來取消某種正在進行的摸態(操作)
  WM_SETCURSOR        = $0020;
如果鼠標引起光標在某個窗口中移動且鼠標輸入沒有被捕獲時,就發消息給某個窗口
  WM_MOUSEACTIVATE    = $0021;
當光標在某個非激活的窗口中而用戶正按着鼠標的某個鍵發送此消息給當前窗口
  WM_CHILDACTIVATE    = $0022;
發送此消息給MDI子窗口當用戶點擊此窗口的標題欄,或當窗口被激活,移動,改變大小

  WM_QUEUESYNC        = $0023;
此消息由基於計算機的訓練程序發送,通過WH_JOURNALPALYBACK的hook程序
分離出用戶輸入消息
  WM_GETMINMAXINFO    = $0024;
此消息發送給窗口當它將要改變大小或位置;
  WM_PAINTICON        = $0026;
發送給最小化窗口當它圖標將要被重畫
  WM_ICONERASEBKGND  = $0027;
  此消息發送給某個最小化窗口,僅當它在畫圖標前它的背景必須被重畫
  WM_NEXTDLGCTL      = $0028;
發送此消息給一個對話框程序去更改焦點位置
  WM_SPOOLERSTATUS    = $002A;
每當打印管理列隊增加或減少一條作業時發出此消息
  WM_DRAWITEM        = $002B;
  當button,combobox,listbox,menu的可視外觀改變時發送
此消息給這些空件的所有者
  WM_MEASUREITEM      = $002C;
當button, combo box, list box, list view control, or menu item 被創建時
發送此消息給控件的所有者
  WM_DELETEITEM      = $002D;
當the list box 或 combo box 被銷燬 或 當 某些項被刪除通過LB_DELETESTRING, LB
_RESETCONTENT,
CB_DELETESTRING, or CB_RESETCONTENT 消息
  WM_VKEYTOITEM      = $002E;
此消息有一個LBS_WANTKEYBOARDINPUT風格的發出給它的所有者來響應WM_KEYDOWN消息
  WM_CHARTOITEM      = $002F;
此消息由一個LBS_WANTKEYBOARDINPUT風格的列表框發送給他的所有者來響應WM_CHAR消

  WM_SETFONT          = $0030;
當繪製文本時程序發送此消息得到控件要用的顏色
  WM_GETFONT          = $0031;
應用程序發送此消息得到當前控件繪製文本的字體
  WM_SETHOTKEY        = $0032;
應用程序發送此消息讓一個窗口與一個熱鍵相關連
  WM_GETHOTKEY        = $0033;
應用程序發送此消息來判斷熱鍵與某個窗口是否有關聯
  WM_QUERYDRAGICON    = $0037;
此消息發送給最小化窗口,當此窗口將要被拖放而它的類中沒有定義圖標,應用程序能

返回一個圖標或光標的句柄,當用戶拖放圖標時系統顯示這個圖標或光標
  WM_COMPAREITEM      = $0039;
發送此消息來判定combobox或listbox新增加的項的相對位置
  WM_GETOBJECT        = $003D;
  WM_COMPACTING      = $0041;
顯示內存已經很少了
  WM_WINDOWPOSCHANGING = $0046;
發送此消息給那個窗口的大小和位置將要被改變時,來調用setwindowpos函數或其它窗
口管理函數
  WM_WINDOWPOSCHANGED = $0047;
發送此消息給那個窗口的大小和位置已經被改變時,來調用setwindowpos函數或其它窗
口管理函數
  WM_POWER            = $0048;(適用於16位的windows)
當系統將要進入暫停狀態時發送此消息
  WM_COPYDATA        = $004A;
當一個應用程序傳遞數據給另一個應用程序時發送此消息
  WM_CANCELJOURNAL    = $004B;
當某個用戶取消程序日誌激活狀態,提交此消息給程序
  WM_NOTIFY          = $004E;
當某個控件的某個事件已經發生或這個控件需要得到一些信息時,發送此消息給它的父
窗口
  WM_INPUTLANGCHANGEREQUEST = $0050;
當用戶選擇某種輸入語言,或輸入語言的熱鍵改變
  WM_INPUTLANGCHANGE  = $0051;
當平臺現場已經被改變後發送此消息給受影響的最頂級窗口
  WM_TCARD            = $0052;
當程序已經初始化windows幫助例程時發送此消息給應用程序
  WM_HELP            = $0053;
此消息顯示用戶按下了F1,如果某個菜單是激活的,就發送此消息個此窗口關聯的菜單
,否則就
發送給有焦點的窗口,如果當前都沒有焦點,就把此消息發送給當前激活的窗口
  WM_USERCHANGED      = $0054;
當用戶已經登入或退出後發送此消息給所有的窗口,當用戶登入或退出時系統更新用戶
的具體
設置信息,在用戶更新設置時系統馬上發送此消息;
  WM_NOTIFYFORMAT    = $0055;
公用控件,自定義控件和他們的父窗口通過此消息來判斷控件是使用ANSI還是UNICODE結

在WM_NOTIFY消息,使用此控件能使某個控件與它的父控件之間進行相互通信
  WM_CONTEXTMENU      = $007B;
當用戶某個窗口中點擊了一下右鍵就發送此消息給這個窗口
  WM_STYLECHANGING    = $007C;
當調用SETWINDOWLONG函數將要改變一個或多個 窗口的風格時發送此消息給那個窗口
  WM_STYLECHANGED    = $007D;
當調用SETWINDOWLONG函數一個或多個 窗口的風格後發送此消息給那個窗口
  WM_DISPLAYCHANGE    = $007E;
當顯示器的分辨率改變後發送此消息給所有的窗口
  WM_GETICON          = $007F;
此消息發送給某個窗口來返回與某個窗口有關連的大圖標或小圖標的句柄;
  WM_SETICON          = $0080;
程序發送此消息讓一個新的大圖標或小圖標與某個窗口關聯;
  WM_NCCREATE        = $0081;
當某個窗口第一次被創建時,此消息在WM_CREATE消息發送前發送;
  WM_NCDESTROY        = $0082;
此消息通知某個窗口,非客戶區正在銷燬
  WM_NCCALCSIZE      = $0083;
當某個窗口的客戶區域必須被覈算時發送此消息
  WM_NCHITTEST        = $0084;//移動鼠標,按住或釋放鼠標時發生
  WM_NCPAINT          = $0085;
程序發送此消息給某個窗口當它(窗口)的框架必須被繪製時;
  WM_NCACTIVATE      = $0086;
此消息發送給某個窗口 僅當它的非客戶區需要被改變來顯示是激活還是非激活狀態;
  WM_GETDLGCODE      = $0087;
發送此消息給某個與對話框程序關聯的控件,widdows控制方位鍵和TAB鍵使輸入進入此
控件
通過響應WM_GETDLGCODE消息,應用程序可以把他當成一個特殊的輸入控件並能處理它
  WM_NCMOUSEMOVE      = $00A0;
當光標在一個窗口的非客戶區內移動時發送此消息給這個窗口      file://非客戶區爲
:窗體的標題欄及窗
  (VC++技術內幕(第四版)後邊的附錄A裏就有MFC的所有消息。)
  WM_SYSKEYDOWN      = $0104;
當用戶按住ALT鍵同時按下其它鍵時提交此消息給擁有焦點的窗口;
  WM_SYSKEYUP        = $0105;
當用戶釋放一個鍵同時ALT 鍵還按着時提交此消息給擁有焦點的窗口
  WM_SYSCHAR          = $0106;
當WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數翻譯後提交此消息給擁有焦點的窗口
  WM_SYSDEADCHAR      = $0107;
當WM_SYSKEYDOWN消息被TRANSLATEMESSAGE函數翻譯後發送此消息給擁有焦點的窗口
  WM_KEYLAST          = $0108;
  WM_INITDIALOG      = $0110;
在一個對話框程序被顯示前發送此消息給它,通常用此消息初始化控件和執行其它任務

  WM_COMMAND          = $0111;
當用戶選擇一條菜單命令項或當某個控件發送一條消息給它的父窗口,一個快捷鍵被翻

  WM_SYSCOMMAND      = $0112;
當用戶選擇窗口菜單的一條命令或當用戶選擇最大化或最小化時那個窗口會收到此消息

  WM_TIMER            = $0113;                file://發生了定時器事件
  WM_HSCROLL          = $0114;
當一個窗口標準水平滾動條產生一個滾動事件時發送此消息給那個窗口,也發送給擁有
它的控件
  WM_VSCROLL          = $0115;
當一個窗口標準垂直滾動條產生一個滾動事件時發送此消息給那個窗口也,發送給擁有
它的控件
  WM_INITMENU       = $0116;
當一個菜單將要被激活時發送此消息,它發生在用戶菜單條中的某項或按下某個菜單鍵
,它允許
程序在顯示前更改菜單
  WM_INITMENUPOPUP    = $0117;
當一個下拉菜單或子菜單將要被激活時發送此消息,它允許程序在它顯示前更改菜單,
而不要
改變全部
WM_MENUSELECT      = $011F;
當用戶選擇一條菜單項時發送此消息給菜單的所有者(一般是窗口)
  WM_MENUCHAR        = $0120;
當菜單已被激活用戶按下了某個鍵(不同於加速鍵),發送此消息給菜單的所有者;
  WM_ENTERIDLE        = $0121;
當一個模態對話框或菜單進入空載狀態時發送此消息給它的所有者,一個模態對話框或
菜單進入空載狀態
就是在處理完一條或幾條先前的消息後沒有消息它的列隊中等待
  WM_MENURBUTTONUP    = $0122;
  WM_MENUDRAG        = $0123;
  WM_MENUGETOBJECT    = $0124;
  WM_UNINITMENUPOPUP  = $0125;
  WM_MENUCOMMAND      = $0126;
  WM_CHANGEUISTATE    = $0127;
  WM_UPDATEUISTATE    = $0128;
  WM_QUERYUISTATE    = $0129;
  WM_CTLCOLORMSGBOX  = $0132;
在windows繪製消息框前發送此消息給消息框的所有者窗口,通過響應這條消息,所有者
窗口可以
通過使用給定的相關顯示設備的句柄來設置消息框的文本和背景顏色
  WM_CTLCOLOREDIT    = $0133;
當一個編輯型控件將要被繪製時發送此消息給它的父窗口;通過響應這條消息,所有者
窗口可以
通過使用給定的相關顯示設備的句柄來設置編輯框的文本和背景顏色
  WM_CTLCOLORLISTBOX  = $0134;
當一個列表框控件將要被繪製前發送此消息給它的父窗口;通過響應這條消息,所有者
窗口可以
通過使用給定的相關顯示設備的句柄來設置列表框的文本和背景顏色
WM_CTLCOLORBTN      = $0135;
當一個按鈕控件將要被繪製時發送此消息給它的父窗口;通過響應這條消息,所有者窗
口可以
通過使用給定的相關顯示設備的句柄來設置按紐的文本和背景顏色
  WM_CTLCOLORDLG      = $0136;
當一個對話框控件將要被繪製前發送此消息給它的父窗口;通過響應這條消息,所有者
窗口可以
通過使用給定的相關顯示設備的句柄來設置對話框的文本背景顏色
  WM_CTLCOLORSCROLLBAR= $0137;
當一個滾動條控件將要被繪製時發送此消息給它的父窗口;通過響應這條消息,所有者
窗口可以
通過使用給定的相關顯示設備的句柄來設置滾動條的背景顏色
  WM_CTLCOLORSTATIC  = $0138;
當一個靜態控件將要被繪製時發送此消息給它的父窗口;通過響應這條消息,所有者窗
口可以
通過使用給定的相關顯示設備的句柄來設置靜態控件的文本和背景顏色
  WM_MOUSEFIRST      = $0200;
  WM_MOUSEMOVE        = $0200;
                  //  移動鼠標
  WM_LBUTTONDOWN      = $0201;
                    file://按下鼠標左鍵
  WM_LBUTTONUP        = $0202;
                  file://釋放鼠標左鍵
  WM_LBUTTONDBLCLK    = $0203;
                  file://雙擊鼠標左鍵
  WM_RBUTTONDOWN      = $0204;
                  file://按下鼠標右鍵
  WM_RBUTTONUP        = $0205;
                  file://釋放鼠標右鍵
  WM_RBUTTONDBLCLK    = $0206;
                file://雙擊鼠標右鍵
  WM_MBUTTONDOWN      = $0207;
                file://按下鼠標中鍵
  WM_MBUTTONUP        = $0208;
                file://釋放鼠標中鍵
  WM_MBUTTONDBLCLK    = $0209;
                  file://雙擊鼠標中鍵
  WM_MOUSEWHEEL      = $020A;
當鼠標輪子轉動時發送此消息個當前有焦點的控件
  WM_MOUSELAST        = $020A;
  WM_PARENTNOTIFY    = $0210;
當MDI子窗口被創建或被銷燬,或用戶按了一下鼠標鍵而光標在子窗口上時發送此消息給
它的父窗口
  WM_ENTERMENULOOP    = $0211;
發送此消息通知應用程序的主窗口that已經進入了菜單循環模式
  WM_EXITMENULOOP    = $0212;
發送此消息通知應用程序的主窗口that已退出了菜單循環模式
  WM_NEXTMENU        = $0213;
  WM_SIZING          = 532;
當用戶正在調整窗口大小時發送此消息給窗口;通過此消息應用程序可以監視窗口大小
和位置
也可以修改他們
  WM_CAPTURECHANGED  = 533;
發送此消息 給窗口當它失去捕獲的鼠標時;
  WM_MOVING          = 534;
當用戶在移動窗口時發送此消息,通過此消息應用程序可以監視窗口大小和位置
也可以修改他們;
  WM_POWERBROADCAST  = 536;
此消息發送給應用程序來通知它有關電源管理事件;
  WM_DEVICECHANGE    = 537;
當設備的硬件配置改變時發送此消息給應用程序或設備驅動程序
  WM_IME_STARTCOMPOSITION        = $010D;
  WM_IME_ENDCOMPOSITION          = $010E;
  WM_IME_COMPOSITION            = $010F;
  WM_IME_KEYLAST                = $010F;
  WM_IME_SETCONTEXT              = $0281;
  WM_IME_NOTIFY                  = $0282;
  WM_IME_CONTROL                = $0283;
  WM_IME_COMPOSITIONFULL        = $0284;
  WM_IME_SELECT                  = $0285;
  WM_IME_CHAR                    = $0286;
  WM_IME_REQUEST                = $0288;
  WM_IME_KEYDOWN                = $0290;
  WM_IME_KEYUP                  = $0291;
  WM_MDICREATE        = $0220;
應用程序發送此消息給多文檔的客戶窗口來創建一個MDI 子窗口
  WM_MDIDESTROY      = $0221;
應用程序發送此消息給多文檔的客戶窗口來關閉一個MDI 子窗口
  WM_MDIACTIVATE      = $0222;
應用程序發送此消息給多文檔的客戶窗口通知客戶窗口激活另一個MDI子窗口,當客戶窗
口收到
此消息後,它發出WM_MDIACTIVE消息給MDI子窗口(未激活)激活它;
  WM_MDIRESTORE      = $0223;
程序 發送此消息給MDI客戶窗口讓子窗口從最大最小化恢復到原來大小
  WM_MDINEXT          = $0224;
程序 發送此消息給MDI客戶窗口激活下一個或前一個窗口
  WM_MDIMAXIMIZE      = $0225;
程序發送此消息給MDI客戶窗口來最大化一個MDI子窗口;
  WM_MDITILE          = $0226;
程序 發送此消息給MDI客戶窗口以平鋪方式重新排列所有MDI子窗口
  WM_MDICASCADE      = $0227;
程序 發送此消息給MDI客戶窗口以層疊方式重新排列所有MDI子窗口
  WM_MDIICONARRANGE  = $0228;
程序 發送此消息給MDI客戶窗口重新排列所有最小化的MDI子窗口
  WM_MDIGETACTIVE    = $0229;
程序 發送此消息給MDI客戶窗口來找到激活的子窗口的句柄
  WM_MDISETMENU      = $0230;
程序 發送此消息給MDI客戶窗口用MDI菜單代替子窗口的菜單
  WM_ENTERSIZEMOVE    = $0231;
  WM_EXITSIZEMOVE    = $0232;
  WM_DROPFILES        = $0233;
  WM_MDIREFRESHMENU  = $0234;
  WM_MOUSEHOVER      = $02A1;
  WM_MOUSELEAVE      = $02A3;
  WM_CUT              = $0300;
程序發送此消息給一個編輯框或combobox來刪除當前選擇的文本
  WM_COPY            = $0301;
程序發送此消息給一個編輯框或combobox來複制當前選擇的文本到剪貼板
  WM_PASTE            = $0302;
程序發送此消息給editcontrol或combobox從剪貼板中得到數據
  WM_CLEAR            = $0303;
程序發送此消息給editcontrol或combobox清除當前選擇的內容;
  WM_UNDO            = $0304;
程序發送此消息給editcontrol或combobox撤消最後一次操作
  WM_RENDERFORMAT    = $0305;
  WM_RENDERALLFORMATS = $0306;
  WM_DESTROYCLIPBOARD = $0307;
當調用ENPTYCLIPBOARD函數時 發送此消息給剪貼板的所有者
  WM_DRAWCLIPBOARD    = $0308;
當剪貼板的內容變化時發送此消息給剪貼板觀察鏈的第一個窗口;它允許用剪貼板觀察
窗口來
顯示剪貼板的新內容;
  WM_PAINTCLIPBOARD  = $0309;
當剪貼板包含CF_OWNERDIPLAY格式的數據並且剪貼板觀察窗口的客戶區需要重畫;
  WM_VSCROLLCLIPBOARD = $030A;
  WM_SIZECLIPBOARD    = $030B;
當剪貼板包含CF_OWNERDIPLAY格式的數據並且剪貼板觀察窗口的客戶區域的大小已經改
變是此消息通過剪貼板
觀察窗口發送給剪貼板的所有者;
  WM_ASKCBFORMATNAME  = $030C;
通過剪貼板觀察窗口發送此消息給剪貼板的所有者來請求一個CF_OWNERDISPLAY格式的剪
貼板的名字
  WM_CHANGECBCHAIN    = $030D;
當一個窗口從剪貼板觀察鏈中移去時發送此消息給剪貼板觀察鏈的第一個窗口;
  WM_HSCROLLCLIPBOARD = $030E;
此消息通過一個剪貼
回覆人: xiaoxieyu(小魚) (  ) 信譽:100  2002-5-28 14:13:25  得分:10
  WM_PRINTCLIENT      = 792;
  WM_HANDHELDFIRST    = 856;
  WM_HANDHELDLAST    = 863;
  WM_PENWINFIRST      = $0380;
  WM_PENWINLAST      = $038F;
  WM_COALESCE_FIRST  = $0390;
  WM_COALESCE_LAST    = $039F;
  WM_DDE_FIRST        = $03E0;
  WM_DDE_INITIATE    = WM_DDE_FIRST + 0;
一個DDE客戶程序提交此消息開始一個與服務器程序的會話來響應那個指定的程序和主題
名;
  WM_DDE_TERMINATE    = WM_DDE_FIRST + 1;
一個DDE應用程序(無論是客戶還是服務器)提交此消息來終止一個會話;
  WM_DDE_ADVISE      = WM_DDE_FIRST + 2;
一個DDE客戶程序提交此消息給一個DDE服務程序來請求服務器每當數據項改變時更新它

  WM_DDE_UNADVISE    = WM_DDE_FIRST + 3;
一個DDE客戶程序通過此消息通知一個DDE服務程序不更新指定的項或一個特殊的剪貼板
格式的項
  WM_DDE_ACK          = WM_DDE_FIRST + 4;
此消息通知一個DDE(動態數據交換)程序已收到並正在處理WM_DDE_POKE, WM_DDE_EXE
CUTE, WM_DDE_DATA,
WM_DDE_ADVISE, WM_DDE_UNADVISE, or WM_DDE_INITIAT消息
  WM_DDE_DATA        = WM_DDE_FIRST + 5;
一個DDE服務程序提交此消息給DDE客戶程序來傳遞個一數據項給客戶或通知客戶的一條
可用數據項
  WM_DDE_REQUEST      = WM_DDE_FIRST + 6;
一個DDE客戶程序提交此消息給一個DDE服務程序來請求一個數據項的值;
  WM_DDE_POKE        = WM_DDE_FIRST + 7;
一個DDE客戶程序提交此消息給一個DDE服務程序,客戶使用此消息來請求服務器接收一
個未經同意的數據項;
服務器通過答覆WM_DDE_ACK消息提示是否它接收這個數據項;
  WM_DDE_EXECUTE      = WM_DDE_FIRST + 8;
一個DDE客戶程序提交此消息給一個DDE服務程序來發送一個字符串給服務器讓它象串行
命令一樣被處理,
服務器通過提交WM_DDE_ACK消息來作迴應;
  WM_DDE_LAST        = WM_DDE_FIRST + 8;
  WM_APP = $8000;
  WM_USER            = $0400;
此消息能幫助應用程序自定義私有消息;
/////////////////////////////////////////////////////////////////////
通知消息(Notification message)是指這樣一種消息,一個窗口內的子控件發生了一些
事情,需要通
知父窗口。通知消息只適用於標準的窗口控件如按鈕、列表框、組合框、編輯框,以及
Windows 95公
共控件如樹狀視圖、列表視圖等。例如,單擊或雙擊一個控件、在控件中選擇部分文本
、操作控件的
滾動條都會產生通知消息。
    按扭
B N _ C L I C K E D                        file://用戶單擊了按鈕
B N _ D I S A B L E                        file://按鈕被禁止
B N _ D O U B L E C L I C K E D    file://用戶雙擊了按鈕
B N _ H I L I T E                        file://用戶加亮了按鈕
B N _ PA I N T按鈕應當重畫
B N _ U N H I L I T E加亮應當去掉
組合框
C B N _ C L O S E U P組合框的列表框被關閉
C B N _ D B L C L K用戶雙擊了一個字符串
C B N _ D R O P D O W N組合框的列表框被拉出
C B N _ E D I T C H A N G E用戶修改了編輯框中的文本
C B N _ E D I T U P D AT E編輯框內的文本即將更新
C B N _ E R R S PA C E組合框內存不足
C B N _ K I L L F O C U S組合框失去輸入焦點
C B N _ S E L C H A N G E在組合框中選擇了一項
C B N _ S E L E N D C A N C E L用戶的選擇應當被取消
C B N _ S E L E N D O K用戶的選擇是合法的
C B N _ S E T F O C U S組合框獲得輸入焦點
編輯框
E N _ C H A N G E編輯框中的文本己更新
E N _ E R R S PA C E編輯框內存不足
E N _ H S C R O L L用戶點擊了水平滾動條
E N _ K I L L F O C U S編輯框正在失去輸入焦點
E N _ M A X T E X T插入的內容被截斷
E N _ S E T F O C U S編輯框獲得輸入焦點
E N _ U P D AT E編輯框中的文本將要更新
E N _ V S C R O L L用戶點擊了垂直滾動條消息含義
列表框
L B N _ D B L C L K用戶雙擊了一項
L B N _ E R R S PA C E列表框內存不夠
L B N _ K I L L F O C U S列表框正在失去輸入焦點
L B N _ S E L C A N C E L選擇被取消
L B N _ S E L C H A N G E選擇了另一項
L B N _ S E T F O C U S列表框獲得輸入焦點
回覆人: delphihero(阿蒙(C++)) (  ) 信譽:97  2002-5-28 14:24:59  得分:30
  沒用的你要使用才能清除的瞭解
消息              MSG_MAP              相應函數              作用
WM_LBUTTONDOWN ON_WM_LBUTTONDOWN()   OnLButtonDown(UINT nFlags, CPoint point
)
後面的函數是可以變得,你看了深入淺出mfc就知道,是用宏來把出處理消息的函數和消
息連接在一起。
在 vc.net 中很多函數名字有了變化,和vc6 中有點不同了。如果你想看消息
windows.h 文件中聲明瞭所有的消息
  WM_COPY_DATA    數據傳送消息
  這是我從visual c++上COPY來的消息函數
Appendix A
Message Map Functions in the Microsoft Foundation Class Library
HANDLERS FOR WM_COMMAND MESSAGES
Map Entry Function Prototype
ON_COMMAND(<id>, <memberFxn>) afx_msg void memberFxn();
ON_COMMAND_EX(<id>, <memberFxn>) afx_msg BOOL memberFxn(UINT);
ON_COMMAND_EX_RANGE(<id>, <idLast>, <memberFxn>) afx_msg BOOL memberFxn(UINT
);
ON_COMMAND_RANGE(<id>, <idLast>, <memberFxn>) afx_msg void memberFxn(UINT);
ON_UPDATE_COMMAND_UI(<id>, <memberFxn>) afx_msg void memberFxn(CCmdUI*);
ON_UPDATE_COMMAND_UI_RANGE (<id>, <idLast>, <memberFxn>) afx_msg void member
Fxn(CCmdUI*);
ON_UPDATE_COMMAND_UI_REFLECT (<memberFxn>) afx_msg void memberFxn(CCmdUI*);
HANDLERS FOR CHILD WINDOW NOTIFICATION MESSAGES
Map Entry Function Prototype
Generic Control Notification Codes
ON_CONTROL(<wNotifyCode>, <id>, <memberFxn>) afx_msg void memberFxn();
ON_CONTROL_RANGE(<wNotifyCode>, <id> <idLast>, <memberFxn>) afx_msg void mem
berFxn(UINT);
ON_CONTROL_REFLECT(<wNotifyCode>, <memberFxn>) afx_msg void memberFxn();
ON_CONTROL_REFLECT_EX(<wNotifyCode>, <memberFxn>) afx_msg BOOL memberFxn();
ON_NOTIFY(<wNotifyCode>, <id>, <memberFxn>) afx_msg void memberFxn(NMHDR*, L
RESULT*);
ON_NOTIFY_EX(<wNotifyCode>, <id>, <memberFxn>) afx_msg BOOL memberFxn(UINT,
NMHDR*, LRESULT*);
ON_NOTIFY_EX_RANGE(<wNotifyCode>, <id>, <idLast>, <memberFxn>) afx_msg BOOL
memberFxn(UINT, NMHDR*, LRESULT*);
ON_NOTIFY_RANGE(<wNotifyCode>, <id>, <idLast>, <memberFxn>) afx_msg void mem
berFxn(UINT, NMHDR*, LRESULT*);
ON_NOTIFY_REFLECT(<wNotifyCode>, <memberFxn>) afx_msg void memberFxn(NMHDR*,
LRESULT*);
ON_NOTIFY_REFLECT_EX(<wNotifyCode>, <memberFxn>) afx_msg BOOL memberFxn(NMHD
R*, LRESULT*);
User Button Notification Codes
ON_BN_CLICKED(<id>, <memberFxn>) afx_msg void memberFxn();
ON_BN_DOUBLECLICKED(<id>, <memberFxn>) afx_msg void memberFxn();
ON_BN_KILLFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
ON_BN_SETFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
Combo Box Notification Codes
ON_CBN_CLOSEUP(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_DBLCLK(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_DROPDOWN(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_EDITCHANGE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_EDITUPDATE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_ERRSPACE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_KILLFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_SELCHANGE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_SELENDCANCEL(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_SELENDOK(<id>, <memberFxn>) afx_msg void memberFxn();
ON_CBN_SETFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
Check List Box Notification Codes
ON_CLBN_CHKCHANGE(<id>, <memberFxn>) afx_msg void memberFxn();
Edit Control Notification Codes
ON_EN_CHANGE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_ERRSPACE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_HSCROLL(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_KILLFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_MAXTEXT(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_SETFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_UPDATE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_EN_VSCROLL(<id>, <memberFxn>) afx_msg void memberFxn();
List Box Notification Codes
ON_LBN_DBLCLK(<id>, <memberFxn>) afx_msg void memberFxn();
ON_LBN_ERRSPACE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_LBN_KILLFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
ON_LBN_SELCANCEL(<id>, <memberFxn>) afx_msg void memberFxn();
ON_LBN_SELCHANGE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_LBN_SETFOCUS(<id>, <memberFxn>) afx_msg void memberFxn();
Static Control Notification Codes
ON_STN_CLICKED(<id>, <memberFxn>) afx_msg void memberFxn();
ON_STN_DBLCLK(<id>, <memberFxn>) afx_msg void memberFxn();
ON_STN_DISABLE(<id>, <memberFxn>) afx_msg void memberFxn();
ON_STN_ENABLE(<id>, <memberFxn>) afx_msg void memberFxn();
Top
回覆人: scxy(小熊) (  ) 信譽:94  2002-5-28 16:06:21  得分:0
  HANDLERS FOR WINDOW NOTIFICATION MESSAGES
Map Entry Function Prototype
ON_WM_ACTIVATE() afx_msg void OnActivate(UINT, CWnd*, BOOL);
ON_WM_ACTIVATEAPP() afx_msg void OnActivateApp(BOOL, HTASK);
ON_WM_ASKCBFORMATNAME() afx_msg void OnAskCbFormatName(UINT, LPTSTR);
ON_WM_CANCELMODE() afx_msg void OnCancelMode();
ON_WM_CAPTURECHANGED() afx_msg void OnCaptureChanged(CWnd*);
ON_WM_CHANGECBCHAIN() afx_msg void OnChangeCbChain(HWND, HWND);
ON_WM_CHAR() afx_msg void OnChar(UINT, UINT, UINT);
ON_WM_CHARTOITEM() afx_msg int OnCharToItem(UINT, CListBox*, UINT);
ON_WM_CHARTOITEM_REFLECT() afx_msg int CharToItem(UINT, UINT);
ON_WM_CHILDACTIVATE() afx_msg void OnChildActivate();
ON_WM_CLOSE() afx_msg void OnClose();
ON_WM_COMPACTING() afx_msg void OnCompacting(UINT);
ON_WM_COMPAREITEM() afx_msg int OnCompareItem(int, LPCOMPAREITEMSTRUCT);
ON_WM_COMPAREITEM_REFLECT() afx_msg int CompareItem (LPCOMPAREITEMSTRUCT);
ON_WM_CONTEXTMENU() afx_msg void OnContextMenu(CWnd*, CPoint);
ON_WM_COPYDATA() afx_msg BOOL OnCopyData(CWnd*, COPYDATASTRUCT*);
ON_WM_CREATE() afx_msg int OnCreate(LPCREATESTRUCT);
ON_WM_CTLCOLOR() afx_msg HBRUSH OnCtlColor(CDC*, CWnd*, UINT);
ON_WM_CTLCOLOR_REFLECT() afx_msg HBRUSH CtlColor(CDC*, UINT);
ON_WM_DEADCHAR() afx_msg void OnDeadChar(UINT, UINT, UINT);
ON_WM_DELETEITEM() afx_msg void OnDeleteItem(int, LPDELETEITEMSTRUCT);
ON_WM_DELETEITEM_REFLECT() afx_msg void DeleteItem (LPDELETEITEMSTRUCT)
ON_WM_DESTROY() afx_msg void OnDestroy();
ON_WM_DESTROYCLIPBOARD() afx_msg void OnDestroyClipboard();
ON_WM_DEVICECHANGE() afx_msg BOOL OnDeviceChange(UINT, DWORD);
ON_WM_DEVMODECHANGE() afx_msg void OnDevModeChange(LPTSTR);
ON_WM_DRAWCLIPBOARD() afx_msg void OnDrawClipboard();
ON_WM_DRAWITEM() afx_msg void OnDrawItem(int, LPDRAWITEMSTRUCT);
ON_WM_DRAWITEM_REFLECT() afx_msg void DrawItem (LPDRAWITEMSTRUCT);
ON_WM_DROPFILES() afx_msg void OnDropFiles(HDROP);
ON_WM_ENABLE() afx_msg void OnEnable(BOOL);
ON_WM_ENDSESSION() afx_msg void OnEndSession(BOOL);
ON_WM_ENTERIDLE() afx_msg void OnEnterIdle(UINT, CWnd*);
ON_WM_ENTERMENULOOP() afx_msg void OnEnterMenuLoop(BOOL);
ON_WM_ERASEBKGND() afx_msg BOOL OnEraseBkgnd(CDC*);
ON_WM_EXITMENULOOP() afx_msg void OnExitMenuLoop(BOOL);
ON_WM_FONTCHANGE() afx_msg void OnFontChange();
ON_WM_GETDLGCODE() afx_msg UINT OnGetDlgCode();
ON_WM_GETMINMAXINFO() afx_msg void OnGetMinMaxInfo (MINMAXINFO*);
ON_WM_HELPINFO() afx_msg BOOL OnHelpInfo(HELPINFO*);
ON_WM_HSCROLL() afx_msg void OnHScroll(UINT, UINT, CScrollBar*);
ON_WM_HSCROLL_REFLECT() afx_msg void HScroll(UINT, UINT);
ON_WM_HSCROLLCLIPBOARD() afx_msg void OnHScrollClipboard(CWnd*, UINT, UINT);

ON_WM_ICONERASEBKGND() afx_msg void OnIconEraseBkgnd(CDC*);
ON_WM_INITMENU() afx_msg void OnInitMenu(CMenu*);
ON_WM_INITMENUPOPUP() afx_msg void OnInitMenuPopup(CMenu*, UINT, BOOL);
ON_WM_KEYDOWN() afx_msg void OnKeyDown(UINT, UINT, UINT);
ON_WM_KEYUP() afx_msg void OnKeyUp(UINT, UINT, UINT);
ON_WM_KILLFOCUS() afx_msg void OnKillFocus(CWnd*);
ON_WM_LBUTTONDBLCLK() afx_msg void OnLButtonDblClk(UINT, CPoint);
ON_WM_LBUTTONDOWN() afx_msg void OnLButtonDown(UINT, CPoint);
ON_WM_LBUTTONUP() afx_msg void OnLButtonUp(UINT, CPoint);
ON_WM_MBUTTONDBLCLK() afx_msg void OnMButtonDblClk(UINT, CPoint);
ON_WM_MBUTTONDOWN() afx_msg void OnMButtonDown(UINT, CPoint);
ON_WM_MBUTTONUP() afx_msg void OnMButtonUp(UINT, CPoint);
ON_WM_MDIACTIVATE() afx_msg void OnMDIActivate(BOOL, CWnd*, CWnd*);
ON_WM_MEASUREITEM() afx_msg void OnMeasureItem(int, LPMEASUREITEMSTRUCT);
ON_WM_MEASUREITEM_REFLECT() afx_msg void MeasureItem (LPMEASUREITEMSTRUCT);
ON_WM_MENUCHAR() afx_msg LRESULT OnMenuChar(UINT, UINT, CMenu*);
ON_WM_MENUSELECT() afx_msg void OnMenuSelect(UINT, UINT, HMENU);
ON_WM_MOUSEACTIVATE() afx_msg int OnMouseActivate(CWnd*, UINT, UINT);
ON_WM_MOUSEMOVE() afx_msg void OnMouseMove(UINT, CPoint);
ON_WM_MOUSEWHEEL() afx_msg BOOL OnMouseWheel(UINT, short, CPoint);
ON_WM_MOVE() afx_msg void OnMove(int, int);
ON_WM_MOVING() afx_msg void OnMoving(UINT, LPRECT);
ON_WM_NCACTIVATE() afx_msg BOOL OnNcActivate(BOOL);
ON_WM_NCCALCSIZE() afx_msg void OnNcCalcSize(BOOL, NCCALCSIZE_PARAMS*);
ON_WM_NCCREATE() afx_msg BOOL OnNcCreate (LPCREATESTRUCT);
ON_WM_NCDESTROY() afx_msg void OnNcDestroy();
ON_WM_NCHITTEST() afx_msg UINT OnNcHitTest(CPoint);
ON_WM_NCLBUTTONDBLCLK() afx_msg void OnNcLButtonDblClk(UINT, CPoint);
ON_WM_NCLBUTTONDOWN() afx_msg void OnNcLButtonDown(UINT, CPoint);
ON_WM_NCLBUTTONUP() afx_msg void OnNcLButtonUp(UINT, CPoint);
ON_WM_NCMBUTTONDBLCLK() afx_msg void OnNcMButtonDblClk(UINT, CPoint);
ON_WM_NCMBUTTONDOWN() afx_msg void OnNcMButtonDown(UINT, CPoint);
ON_WM_NCMBUTTONUP() afx_msg void OnNcMButtonUp(UINT, CPoint);
ON_WM_NCMOUSEMOVE() afx_msg void OnNcMouseMove(UINT, CPoint);
ON_WM_NCPAINT() afx_msg void OnNcPaint();
ON_WM_NCRBUTTONDBLCLK() afx_msg void OnNcRButtonDblClk(UINT, CPoint);
ON_WM_NCRBUTTONDOWN() afx_msg void OnNcRButtonDown(UINT, CPoint);
ON_WM_NCRBUTTONUP() afx_msg void OnNcRButtonUp(UINT, CPoint);
ON_WM_PAINT() afx_msg void OnPaint();
ON_WM_PAINTCLIPBOARD() afx_msg void OnPaintClipboard(CWnd*, HGLOBAL);
ON_WM_PALETTECHANGED() afx_msg void OnPaletteChanged(CWnd*);
ON_WM_PALETTEISCHANGING() afx_msg void OnPaletteIsChanging(CWnd*);
ON_WM_PARENTNOTIFY() afx_msg void OnParentNotify(UINT, LPARAM);
ON_WM_PARENTNOTIFY_REFLECT() afx_msg void ParentNotify(UINT, LPARAM);
ON_WM_QUERYDRAGICON() afx_msg HCURSOR OnQueryDragIcon();
ON_WM_QUERYENDSESSION() afx_msg BOOL OnQueryEndSession();
ON_WM_QUERYNEWPALETTE() afx_msg BOOL OnQueryNewPalette();
ON_WM_QUERYOPEN() afx_msg BOOL OnQueryOpen();
ON_WM_RBUTTONDBLCLK() afx_msg void OnRButtonDblClk(UINT, CPoint);
ON_WM_RBUTTONDOWN() afx_msg void OnRButtonDown(UINT, CPoint);
ON_WM_RBUTTONUP() afx_msg void OnRButtonUp(UINT, CPoint);
ON_WM_RENDERALLFORMATS() afx_msg void OnRenderAllFormats();
ON_WM_RENDERFORMAT() afx_msg void OnRenderFormat(UINT);
ON_WM_SETCURSOR() afx_msg BOOL OnSetCursor(CWnd*, UINT, UINT);
ON_WM_SETFOCUS() afx_msg void OnSetFocus(CWnd*);
ON_WM_SETTINGCHANGE() afx_msg void OnSettingChange(UINT, LPCTSTR);
ON_WM_SHOWWINDOW() afx_msg void OnShowWindow(BOOL, UINT);
ON_WM_SIZE() afx_msg void OnSize(UINT, int, int);
ON_WM_SIZECLIPBOARD() afx_msg void OnSizeClipboard(CWnd*, HGLOBAL);
ON_WM_SIZING() afx_msg void OnSizing(UINT, LPRECT);
ON_WM_SPOOLERSTATUS() afx_msg void OnSpoolerStatus(UINT, UINT);
ON_WM_STYLECHANGED() afx_msg void OnStyleChanged(int, LPSTYLESTRUCT);
ON_WM_STYLECHANGING() afx_msg void OnStyleChanging(int, LPSTYLESTRUCT);
ON_WM_SYSCHAR() afx_msg void OnSysChar(UINT, UINT, UINT);
ON_WM_SYSCOLORCHANGE() afx_msg void OnSysColorChange();
ON_WM_SYSCOMMAND() afx_msg void OnSysCommand(UINT, LPARAM);
ON_WM_SYSDEADCHAR() afx_msg void OnSysDeadChar(UINT, UINT, UINT);
ON_WM_SYSKEYDOWN() afx_msg void OnSysKeyDown(UINT, UINT, UINT);
ON_WM_SYSKEYUP() afx_msg void OnSysKeyUp(UINT, UINT, UINT);
ON_WM_TCARD() afx_msg void OnTCard(UINT, DWORD);
ON_WM_TIMECHANGE() afx_msg void OnTimeChange();
ON_WM_TIMER() afx_msg void OnTimer(UINT);
ON_WM_VKEYTOITEM() afx_msg int OnVKeyToItem(UINT, CListBox*, UINT);
ON_WM_VKEYTOITEM_REFLECT() afx_msg int VKeyToItem(UINT, UINT);
ON_WM_VSCROLL() afx_msg void OnVScroll(UINT, UINT, CScrollBar*);
ON_WM_VSCROLL_REFLECT() afx_msg void VScroll(UINT, UINT);
ON_WM_VSCROLLCLIPBOARD() afx_msg void OnVScrollClipboard(CWnd*, UINT, UINT);

ON_WM_WINDOWPOSCHANGED() afx_msg void OnWindowPosChanged (WINDOWPOS*);
ON_WM_WINDOWPOSCHANGING() afx_msg void OnWindowPosChanging (WINDOWPOS*);
ON_WM_WININICHANGE() afx_msg void OnWinIniChange(LPCTSTR);
USER-DEFINED MESSAGE CODES
Map Entry Function Prototype
ON_MESSAGE(<message>, <memberFxn>) afx_msg LRESULT memberFxn(WPARAM, LPARAM)
;
ON_REGISTERED_MESSAGE (<nMessageVariable>,<memberFxn>) afx_msg LRESULT membe
rFxn(WPARAM, LPARAM);
ON_REGISTERED_THREADMESSAGE(<nMessageVariable>, <memberFxn>) afx_msg void me
mberFxn(WPARAM, LPARAM);
ON_THREAD_MESSAGE (<message>, <memberFxn>) afx_msg void memberFxn(WPARAM, LP
ARAM);


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/showlong/archive/2006/04/27/679209.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章