VCL存在一些非API消息以供其内部使用,为什么要这样做呢?这要从WM_COMMAND & WM_NOTIFY消息说起,我们说WM_COMMAND消息并不是直接发给实际产生消息的窗体,而是发送到它的父窗体。但是父窗体几乎不可能用通常方法处理这些根本不知道如何处理的消息,于是父窗体把这个消息加上CN_...
10.2.1和菜单有关的概念差别主菜单(顶级菜单)子菜单(弹出菜单)被选中(checked)不能可以启用/禁用 (enabled/disabled)活动/非活动(Active/Inactive)可以可以变灰(grayed)可以可以WM_COMMAND消息启用时,可发送。禁用或变灰里不能句柄有独立句柄...
分类:
其他好文 时间:
2015-07-22 20:26:29
阅读次数:
124
9.4滚动条类9.4.1滚动条控件(1)窗口滚动条与滚动条控件的比较窗口滚动条滚动条控件消息发送WM_VSCROLL、WM_HSCROLL消息。不发送WM_COMMAND消息。wParam参数的意义是一样的。lParam:当消息来自窗口滚动条时为NULL,来自滚动条控件时为滚动条的句柄。宽度或高度固...
分类:
其他好文 时间:
2015-07-19 19:29:21
阅读次数:
95
1. 标准消息
除WM_COMMAND之外,所有以WM_开头的消息;从CWnd派生的类,都可以接收到这类消息,比如:
ON_WM_CREATE 对应WM_CREATE消息
ON_WM_PAINT 对应WM_PAINT消息
ON_WM_MOUSEMOVE 对应WM_MOUSEMOVE消息
ON_WM_XXX ……
对上边列举...
分类:
编程语言 时间:
2015-07-13 22:28:32
阅读次数:
233
---恢复内容开始---1、命令消息(WM_COMMAND)所有派生自CCmdTarget的类都有资格接受WM_COMMAND。2、Window消息(WM_xxx)所有派生自CWnd的类都有资格接受WM_xxx。3、控件消息(WM_NOTIFY)控件向其父窗口通知消息。消息处理1、WM_xxx消息处...
分类:
编程语言 时间:
2015-07-10 11:05:56
阅读次数:
185
为何不能Disable菜单项 问:我有一个工具button在WM_COMMAND消息是这样做的: CMenu *pMenu = GetMenu(); pMenu->EnableMenuItem(ID_MY_OPTION,MF_BYCOMMAND|MF_DISABLED); ...
分类:
其他好文 时间:
2015-06-05 12:09:46
阅读次数:
140
一、Windows消息的分类①标准消息除WM_COMMAND之外,所有的以WM_开头的消息都是标准消息,从CWnd类派生的类,都可以接收到这类消息。②命令消息来自菜单、加速键、工具栏的消息。这类消息都以WM_COMMAND形式呈现。在MFC中通过菜单项ID区分不同的命 令消息,在SDK中,通过消息的...
分类:
其他好文 时间:
2015-01-29 19:14:35
阅读次数:
163
为何不能Disable菜单项 问:我有一个工具button在WM_COMMAND消息是这样做的: CMenu *pMenu = GetMenu(); pMenu->EnableMenuItem(ID_MY_OPTION,MF_BYCOMMAND|MF_DISABLED); ...
分类:
其他好文 时间:
2015-01-29 12:12:37
阅读次数:
115
MFC将windows消息系统进行了高度的抽象和封装,其根本原理是运用C++的高级特性并结合一定的设计模式(如工厂模式,模板方法等)来实现的。一般的windows消息(WM_XXX),则一定是由派生类流向基类,没有旁流的可能。如果是命令消息(WM_COMMAND),那就有比较奇特的路线了。下面就针对多文档/单文档(Document-View)、对话框两种应用程序比较讨论WM_COMMAND消息的传...
分类:
编程语言 时间:
2015-01-26 15:17:38
阅读次数:
190
原文网址:http://blog.csdn.net/hyhnoproblem/article/details/6182585该示例通过研究基本的单文档程序的“文件”--“打开”命令,分析WM_COMMAND消息投递流程。基于VS 2005 代码AfxWndProc最终调用的是OnWndMsg,这个函...