衡阳县住房和城乡建设局网站,重庆的建设工程造价信息网,天津酒店网站制作,wordpress主题width=1 height=1图片不显示Visual C中MFC消息的分为三类#xff1a;标准(窗口)消息、命令消息、控件消息。 1、标准(窗口)消息#xff1a;窗口消息一般与窗口内部运作有关#xff0c;如创建窗口#xff0c;绘制窗口#xff0c;销毁窗口#xff0c;通常#xff0c;消息是从系统发到窗口#xff0c… Visual C中MFC消息的分为三类标准(窗口)消息、命令消息、控件消息。 1、标准(窗口)消息窗口消息一般与窗口内部运作有关如创建窗口绘制窗口销毁窗口通常消息是从系统发到窗口或从窗口发到系统。发送函数SendMessage()或者PostMessage()。除WM_COMMAND之外所有的以WM_开头的消息。从CWnd派生的类都可以接受到这类消息。注意标准消息并不需要我们指定处理函数名称是默认的对应关系。 宏名称 对应消息 消息处理函数
ON_WM_CHAR WM_CHAR OnChar
ON_WM_CLOSE WM_CLOSE OnClose
ON_WM_CREATE WM_CREATE OnCreate
ON_WM_DESTROY WM_DESTROY OnDestroy
ON_WM_LBUTTONDO WNWM_LBUTTONDOWN OnLButtonDown
ON_WM_LBUTTONUP WM_LBUTTONUP OnLButtonUp
ON_WM_MOUSEMOVE WM_MOUSEMOVE OnMouseMove
ON_WM_PAINTWM_PAINT OnPaint 2、命令消息命令消息通常与处理用户请求有关当用户单击一个菜单或工具栏时命令消息就产生了。并发送到能处理该消息的类或函数如装载文本保存选项等这类消息都以WM_COMMAND呈现。在MFC中通过菜单标识ID来区分不同的命令消息在SDK中通过消息的wParam参数识别。从CCmdTarget派生的类都可以接收到这类消息其wParam 记录着该消息来自哪一个菜单项目。 ON_COMMAND(IDM_ABOUT, OnAbout)
ON_COMMAND(IDM_FILENEW, OnFileNew)
ON_COMMAND(IDM_FILEOPEN, OnFileOpen)
ON_COMMAND(IDM_FILESAVE, OnFileSave) 3、控件消息由控件产生的消息例如,按钮的单击列表框的选择等均产生此类消息为的是向其父窗口通通常是对话框通知事件的发生。这类消息也是以WM_COMMAND形式呈现。从CCmdTarget派生的类都可以接收到这类消息。 控件宏 消息处理函数
Button ON_BN_CLICKED(id,memberFxn) memberFxn
ComboBox ON_CBN_DBLCLK(id,memberFxn) memberFxn
Edit ON_EN_SETFOCUS(id,memberFxn) memberFxn
ListBox ON_LBN_DBLCLK(id,memberFxn) memberFxn CWnd是CCmdTarget的派生类在MFC的单文档程序中的CMenuApp和CMenuDoc都是属于CCmdTarget的派生类而不包含CWnd类。 MFC命令消息的路由AfxWndProc替换了窗口过程函数-AfxCallWndProc-WindowProc-OnWnddMsg-(如果是命令消息则调用Oncommand;如果是通告消息则调用OnNotify)-OnCmdMsg 标准消息和非标准消息的区分标准消息:带有控制后 后续操作非标准消息只是简单提示。 你可以在程序的许多类别之中设计「消息映像表格」每一个类别只能拥有一个消息映像表格但也可以没有接收并处理消息。只要是 CWnd 衍生类别就可以拦下任何 Windows 消息。与窗口无关的MFC 类别例如 CDocument 和 CWinApp如果也想处理消息必须衍生自 CCmdTarget并且只可能收到 WM_COMMAND 命令消息。 转载于:https://www.cnblogs.com/rainbow70626/p/8034932.html