《MFC編程之Windows消息(2)》要點(diǎn):
本文介紹了MFC編程之Windows消息(2),希望對您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:桌面軟件開發(fā)
WM_MOUSEFIRST=$0200;
WM_MOUSEMOVE=$0200; //移動(dòng)鼠標(biāo)
WM_LBUTTONDOWN=$0201; //按下鼠標(biāo)左鍵
WM_LBUTTONUP=$0202; //釋放鼠標(biāo)左鍵
WM_LBUTTONDBLCLK=$0203; //雙擊鼠標(biāo)左鍵
WM_RBUTTONDOWN=$0204; //按下鼠標(biāo)右鍵
WM_RBUTTONUP=$0205; //釋放鼠標(biāo)右鍵
WM_RBUTTONDBLCLK=$0206; //雙擊鼠標(biāo)右鍵
WM_MBUTTONDOWN=$0207; //按下鼠標(biāo)中鍵
WM_MBUTTONUP=$0208; //釋放鼠標(biāo)中鍵
WM_MBUTTONDBLCLK=$0209; //雙擊鼠標(biāo)中鍵
WM_MOUSEWHEEL=$020A; 當(dāng)鼠標(biāo)輪子轉(zhuǎn)動(dòng)時(shí)發(fā)送此消息個(gè)當(dāng)前有焦點(diǎn)的控件
WM_MOUSELAST=$020A;
WM_PARENTNOTIFY=$0210; 當(dāng)MDI子窗口被創(chuàng)建或被銷毀,或用戶按了一下鼠標(biāo)鍵而光標(biāo)在子窗口上時(shí)發(fā)送此消息給它的父窗口
WM_ENTERMENULOOP=$0211; 發(fā)送此消息通知應(yīng)用程序的主窗口that已經(jīng)進(jìn)入了菜單循環(huán)模式
WM_EXITMENULOOP=$0212; 發(fā)送此消息通知應(yīng)用程序的主窗口that已退出了菜單循環(huán)模式
WM_NEXTMENU=$0213;
WM_SIZING=532; 當(dāng)用戶正在調(diào)整窗口大小時(shí)發(fā)送此消息給窗口;通過此消息應(yīng)用程序可以監(jiān)視窗口大小和位置也可以修改他們
WM_CAPTURECHANGED=533; 發(fā)送此消息給窗口當(dāng)它失去捕獲的鼠標(biāo)時(shí);
WM_MOVING=534; 當(dāng)用戶在移動(dòng)窗口時(shí)發(fā)送此消息,通過此消息應(yīng)用程序可以監(jiān)視窗口大小和位置也可以修改他們;
WM_POWERBROADCAST=536; 此消息發(fā)送給應(yīng)用程序來通知它有關(guān)電源管理事件;
WM_DEVICECHANGE=537; 當(dāng)設(shè)備的硬件配置改變時(shí)發(fā)送此消息給應(yīng)用程序或設(shè)備驅(qū)動(dòng)程序
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; 應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口來創(chuàng)建一個(gè)MDI子窗口
WM_MDIDESTROY=$0221; 應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口來關(guān)閉一個(gè)MDI子窗口
WM_MDIACTIVATE=$0222; 應(yīng)用程序發(fā)送此消息給多文檔的客戶窗口通知客戶窗口激活另一個(gè)MDI子窗口,當(dāng)客戶窗口收到此消息后,它發(fā)出WM_MDIACTIVE消息給MDI子窗口(未激活)激活它;
WM_MDIRESTORE=$0223; 程序發(fā)送此消息給MDI客戶窗口讓子窗口從最大最小化恢復(fù)到原來大小
WM_MDINEXT=$0224; 程序發(fā)送此消息給MDI客戶窗口激活下一個(gè)或前一個(gè)窗口
WM_MDIMAXIMIZE=$0225; 程序發(fā)送此消息給MDI客戶窗口來最大化一個(gè)MDI子窗口;
WM_MDITILE=$0226; 程序發(fā)送此消息給MDI客戶窗口以平鋪方式重新排列所有MDI子窗口
WM_MDICASCADE=$0227; 程序發(fā)送此消息給MDI客戶窗口以層疊方式重新排列所有MDI子窗口
WM_MDIICONARRANGE=$0228; 程序發(fā)送此消息給MDI客戶窗口重新排列所有最小化的MDI子窗口
WM_MDIGETACTIVE=$0229; 程序發(fā)送此消息給MDI客戶窗口來找到激活的子窗口的句柄
WM_MDISETMENU=$0230; 程序發(fā)送此消息給MDI客戶窗口用MDI菜單代替子窗口的菜單
WM_ENTERSIZEMOVE=$0231;
WM_EXITSIZEMOVE=$0232;
WM_DROPFILES=$0233;
WM_MDIREFRESHMENU=$0234;
WM_MOUSEHOVER=$02A1;
WM_MOUSELEAVE=$02A3;
WM_CUT=$0300; 程序發(fā)送此消息給一個(gè)編輯框或combobox來刪除當(dāng)前選擇的文本
WM_COPY=$0301; 程序發(fā)送此消息給一個(gè)編輯框或combobox來復(fù)制當(dāng)前選擇的文本到剪貼板
WM_PASTE=$0302; 程序發(fā)送此消息給editcontrol或combobox從剪貼板中得到數(shù)據(jù)
WM_CLEAR=$0303; 程序發(fā)送此消息給editcontrol或combobox清除當(dāng)前選擇的內(nèi)容;
WM_UNDO=$0304; 程序發(fā)送此消息給editcontrol或combobox撤消最后一次操作
WM_RENDERFORMAT=$0305;
WM_RENDERALLFORMATS=$0306;
WM_DESTROYCLIPBOARD=$0307; 當(dāng)調(diào)用ENPTYCLIPBOARD函數(shù)時(shí)發(fā)送此消息給剪貼板的所有者
WM_DRAWCLIPBOARD=$0308; 當(dāng)剪貼板的內(nèi)容變化時(shí)發(fā)送此消息給剪貼板觀察鏈的第一個(gè)窗口;它允許用剪貼板觀察窗口來顯示剪貼板的新內(nèi)容;
WM_PAINTCLIPBOARD=$0309; 當(dāng)剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)并且剪貼板觀察窗口的客戶區(qū)需要重畫;
WM_VSCROLLCLIPBOARD=$030A;
WM_SIZECLIPBOARD=$030B; 當(dāng)剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)并且剪貼板觀察窗口的客戶區(qū)域的大小已經(jīng)改變是此消息通過剪貼板觀察窗口發(fā)送給剪貼板的所有者;
WM_ASKCBFORMATNAME=$030C; 通過剪貼板觀察窗口發(fā)送此消息給剪貼板的所有者,來請求一個(gè)CF_OWNERDISPLAY格式的剪貼板的名字
WM_CHANGECBCHAIN=$030D; 當(dāng)一個(gè)窗口從剪貼板觀察鏈中移去時(shí)發(fā)送此消息給剪貼板觀察鏈的第一個(gè)窗口;
WM_HSCROLLCLIPBOARD=$030E; 此消息通過一個(gè)剪貼板觀察窗口發(fā)送給剪貼板的所有者;它發(fā)生在當(dāng)剪貼板包含CFOWNERDISPALY格式的數(shù)據(jù)并且有個(gè)事件在剪貼板觀察窗的水平滾動(dòng)條上;所有者應(yīng)滾動(dòng)剪貼板圖象并更新滾動(dòng)條的值;
WM_QUERYNEWPALETTE=$030F; 此消息發(fā)送給將要收到焦點(diǎn)的窗口,此消息能使窗口在收到焦點(diǎn)時(shí)同時(shí)有機(jī)會(huì)實(shí)現(xiàn)他的邏輯調(diào)色板
WM_PALETTEISCHANGING=$0310; 當(dāng)一個(gè)應(yīng)用程序正要實(shí)現(xiàn)它的邏輯調(diào)色板時(shí)發(fā)此消息通知所有的應(yīng)用程序
WM_PALETTECHANGED=$0311; 此消息在一個(gè)擁有焦點(diǎn)的窗口實(shí)現(xiàn)它的邏輯調(diào)色板后發(fā)送此消息給所有頂級并重疊的窗口,以此來改變系統(tǒng)調(diào)色板
WM_HOTKEY=$0312; 當(dāng)用戶按下由REGISTERHOTKEY函數(shù)注冊的熱鍵時(shí)提交此消息
WM_PRINT=791; 應(yīng)用程序發(fā)送此消息僅當(dāng)WINDOWS或其它應(yīng)用程序發(fā)出一個(gè)請求要求繪制一個(gè)應(yīng)用程序的一部分;
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; 一個(gè)DDE客戶程序提交此消息開始一個(gè)與服務(wù)器程序的會(huì)話來響應(yīng)那個(gè)指定的程序和主題名;
WM_DDE_TERMINATE=WM_DDE_FIRST+1; 一個(gè)DDE應(yīng)用程序(無論是客戶還是服務(wù)器)提交此消息來終止一個(gè)會(huì)話;
WM_DDE_ADVISE=WM_DDE_FIRST+2; 一個(gè)DDE客戶程序提交此消息給一個(gè)DDE服務(wù)程序來請求服務(wù)器每當(dāng)數(shù)據(jù)項(xiàng)改變時(shí)更新它
WM_DDE_UNADVISE=WM_DDE_FIRST+3; 一個(gè)DDE客戶程序通過此消息通知一個(gè)DDE服務(wù)程序不更新指定的項(xiàng)或一個(gè)特殊的剪貼板格式的項(xiàng)
WM_DDE_ACK=WM_DDE_FIRST+4; 此消息通知一個(gè)DDE(動(dòng)態(tài)數(shù)據(jù)交換)程序已收到并正在處理WM_DDE_POKE,WM_DDE_EXECUTE,WM_DDE_DATA,WM_DDE_ADVISE,WM_DDE_UNADVISE,orWM_DDE_INITIAT消息
WM_DDE_DATA=WM_DDE_FIRST+5; 一個(gè)DDE服務(wù)程序提交此消息給DDE客戶程序來傳遞個(gè)一數(shù)據(jù)項(xiàng)給客戶或通知客戶的一條可用數(shù)據(jù)項(xiàng)WM_DDE_REQUEST=WM_DDE_FIRST+6;一個(gè)DDE客戶程序提交此消息給一個(gè)DDE服務(wù)程序來請求一個(gè)數(shù)據(jù)項(xiàng)的值;
WM_DDE_POKE=WM_DDE_FIRST+7; 一個(gè)DDE客戶程序提交此消息給一個(gè)DDE服務(wù)程序,客戶使用此消息來請求服務(wù)器接收一個(gè)未經(jīng)同意的數(shù)據(jù)項(xiàng);服務(wù)器通過答復(fù)WM_DDE_ACK消息提示是否它接收這個(gè)數(shù)據(jù)項(xiàng);
WM_DDE_EXECUTE=WM_DDE_FIRST+8; 一個(gè)DDE客戶程序提交此消息給一個(gè)DDE服務(wù)程序來發(fā)送一個(gè)字符串給服務(wù)器讓它象串行命令一樣被處理,服務(wù)器通過提交WM_DDE_ACK消息來作回應(yīng);
WM_DDE_LAST=WM_DDE_FIRST+8;
WM_APP=$8000;
WM_USER=$0400; 此消息能幫助應(yīng)用程序自定義私有消息;
通知消息(Notificationmessage)是指這樣一種消息,一個(gè)窗口內(nèi)的子控件發(fā)生了一些事情,需要通知父窗口。通知消息只適用于標(biāo)準(zhǔn)的窗口控件如按鈕、列表框、組合框、編輯框,以及Windows95公共控件如樹狀視圖、列表
3.1. 按扭
BN_CLICKED //用戶單擊了按鈕
BN_DISABLE //按鈕被禁止
BN_DOUBLECLICKED //用戶雙擊了按鈕
BN_HILITE //用戶加亮了按鈕
BN_PAINT 按鈕應(yīng)當(dāng)重畫
BN_UNHILITE 加亮應(yīng)當(dāng)去掉
3.2. 組合框
CBN_CLOSEUP 組合框的列表框被關(guān)閉
CBN_DBLCLK 用戶雙擊了一個(gè)字符串
CBN_DROPDOWN 組合框的列表框被拉出
CBN_EDITCHANGE 用戶修改了編輯框中的文本
CBN_EDITUPDATE 編輯框內(nèi)的文本即將更新
CBN_ERRSPACE 組合框內(nèi)存不足
CBN_KILLFOCUS 組合框失去輸入焦點(diǎn)
CBN_SELCHANGE 在組合框中選擇了一項(xiàng)
CBN_SELENDCANCEL 用戶的選擇應(yīng)當(dāng)被取消
CBN_SELENDOK 用戶的選擇是合法的
CBN_SETFOCUS 組合框獲得輸入焦點(diǎn)
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/95_2.html