mfc 消息映射 处理

来源:互联网 发布:windows许可证激活工具 编辑:程序博客网 时间:2024/05/02 05:03
MFC消息映射机制(补充)
2009年05月25日 21:05

比较全的消息与消息处理对应规则,方便查询.从文档中转过来,可能百度的制表位定义不同,没对齐.

WM_COMMAND消息与处理对应规则:
消息            对应处理函数原型
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 memberFxn(CCmdUI*);
ON_UPDATE_COMMAND_UI_REFLECT (<memberFxn>)     afx_msg void memberFxn(CCmdUI*);

子窗口控件"Notification消息"消息与处理对应规则:
消息            对应处理函数原型
Generic Control Notification Codes  
ON_CONTROL(<wNotifyCode>, <id>, <memberFxn>)      afx_msg void memberFxn();
ON_CONTROL_RANGE(<wNotifyCode>, <id> <idLast>, <memberFxn>) afx_msg void memberFxn(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*, LRESULT*);
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 memberFxn(UINT, NMHDR*, LRESULT*);
ON_NOTIFY_REFLECT(<wNotifyCode>, <memberFxn>)     afx_msg void memberFxn(NMHDR*, LRESULT*);
ON_NOTIFY_REFLECT_EX(<wNotifyCode>, <memberFxn>)     afx_msg BOOL memberFxn(NMHDR*, 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();

标准Windows消息( WM_xxx )的对应规则:
消息            对应处理函数原型
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);

用户自定义消息与处理对应规则:
消息            对应处理函数原型
ON_MESSAGE(<message>, <memberFxn>)         afx_msg LRESULT memberFxn(WPARAM, LPARAM);
ON_REGISTERED_MESSAGE (<nMessageVariable>,<memberFxn>)   afx_msg LRESULT memberFxn(WPARAM, LPARAM);
ON_REGISTERED_THREADMESSAGE(<nMessageVariable>, <memberFxn>) afx_msg void memberFxn(WPARAM, LPARAM);
ON_THREAD_MESSAGE (<message>, <memberFxn>)       afx_msg void memberFxn(WPARAM, LPARAM);

原创粉丝点击