//控件消息,菜单,按钮等
BOOL CXXDlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类
int wmEVENT=HIWORD(wParam);
if ( wmEVENT == EN_CHANGE)
{
//HWND hwndCtl = (HWND) lParam;
int wmID =LOWORD(wParam);
if(wmID == IDC_EDIT_NAME)
{ }
} return CDialog::OnCommand(wParam, lParam);
}

通过一个消息路由,监控所有编辑框EN_CHANGE事件。

还可以重载对话框 DefWindowsProc()或WindowsProc()





关键点:

理解command消息格式

int wmID =LOWORD(wParam);    //产生消息的控件ID

int wmEVENT=HIWORD(wParam);  //产生的消息事件代码

HWND hwndCtl = (HWND) lParam; //产生消息的控件句柄

更多:常用控件消息

按扭控件

BN_CLICKED 用户单击了按钮

BN_DISABLE 按钮被禁止

BN_DOUBLECLICKED 用户双击了按钮

BN_HILITE 用户加亮了按钮

BN_PAINT 按钮应当重画

BN_UNHILITE 加亮应当去掉





组合框控件

CBN_CLOSEUP 组合框的列表框被关闭

CBN_DBLCLK 用户双击了一个字符串

CBN_DROPDOWN 组合框的列表框被拉出

CBN_EDITCHANGE 用户修改了编辑框中的文本

CBN_EDITUPDATE 编辑框内的文本即将更新

CBN_ERRSPACE 组合框内存不足

CBN_KILLFOCUS 组合框失去输入焦点

CBN_SELCHANGE 在组合框中选择了一项

CBN_SELENDCANCEL 用户的选择应当被取消

CBN_SELENDOK 用户的选择是合法的

CBN_SETFOCUS 组合框获得输入焦点





编辑框控件

EN_CHANGE 编辑框中的文本己更新

EN_ERRSPACE 编辑框内存不足

EN_HSCROLL 用户点击了水平滚动条

EN_KILLFOCUS 编辑框正在失去输入焦点

EN_MAXTEXT 插入的内容被截断

EN_SETFOCUS 编辑框获得输入焦点

EN_UPDATE 编辑框中的文本将要更新

EN_VSCROLL 用户点击了垂直滚动条消息含义





列表框控件

LBN_DBLCLK 用户双击了一项

LBN_ERRSPACE 列表框内存不够

LBN_KILLFOCUS 列表框正在失去输入焦点



具体消息事件代码宏,请参阅MSDN

更多请参阅:http://blog.csdn.net/cwj976277916/article/details/9019177  深度解析VC中的消息传递

MFC 监控界面上所有文本框值的变化的更多相关文章

  1. js监听文本框值变化事件,就oninput & onpropertychange & onkeyup & onchange的区别

    在Web前端项目中实时监听文本框的值变化是非常常见的功能,通常最简单最容易想到的是onkeyup和onchange事件,但是在使用onkeyup来监听键盘事件的时候,监听不到鼠标右键的粘贴.复制的操作 ...

  2. Jquery文本框值改变事件兼容性

    Jquery文本框值改变事件(支持火狐.ie)   Jquery值改变事件支持火狐和ie浏览器,并且测试通过,绑定后台代码可以做成autocomplete控件. 具体代码列举如下: ? $(docum ...

  3. javascript 文本框值变化触发事件

    javascript 文本框值变化触发事件jo.find(".price").bind('input onpropertychange', function () { me.cal ...

  4. jQuery监听文本框值改变触发事件(propertychange)

    完整代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...

  5. JS给文本框赋值后,在页面后台取不到文本框值的解决方法

    转自:http://www.cnblogs.com/qiaohd/archive/2012/03/23/2413660.html (ReadOnly.disabled 都有可能造成取值取不到) 开发一 ...

  6. jquery设置文本框值 与获取文本框的值

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  7. MFC中如何给静态文本框添加消息响应

    需要两个步骤: 第一个: 是改变它的ID(默认情况下所有的静态文本框的ID都为IDC_STATIC,你需要改变他的ID为其他的值). 第二个: 是在它的属性对话框中选中Notify选项,VS是将该属性 ...

  8. JavaScript实现在页面上的文本框中输入小写字母自动变为大写字母

    <script language="javascript" type="text/javascript"> $(function () { $(&q ...

  9. JS对文本框值的判断

    JS判断只能是数字和小数点(摘录自其它资料,在此发表只为个人以后使用查找方便) 1.文本框只能输入数字(不包括小数点) <input onkeyup="this.value=this. ...

随机推荐

  1. HBase Scan,Get用法

    Scan,get用法 1. get help帮助信息 从下列get用法信息可以看出 get 后面可以跟table表名,rowkey,以及column,value.但是如果想通过get直接获取一个表中的 ...

  2. 【转】在Ubuntu 16.10 Server 上部署 Moodle

    第一步 安装 Ubuntu 16.10 Server LTS Moodle 的官方文档肯定了Ubuntu Server LTS 是适合运维Moodle平台的. 1.使用纯代码交互的服务器Ubuntu更 ...

  3. es同步mysql同步-logstash

    1.下载es https://www.elastic.co/downloads/elasticsearch 修改 config 下elasticsearch.yml   ip和端口等配置 2.下载ki ...

  4. 搭建cvs服务器

    http://zhangjunhd.blog.51cto.com/113473/78595 http://www.cnblogs.com/lee/archive/2008/10/22/1317226. ...

  5. 使用USB Key(加密狗)实现身份认证

    首先你需要去买一个加密狗设备,加密狗是外形酷似U盘的一种硬件设备! 这里我使用的坚石诚信公司的ET99产品 公司项目需要实现一个功能,就是客户使用加密狗登录, 客户不想输入任何密码之类的东西,只需要插 ...

  6. 【题解搬运】PAT_A1020 树的遍历

    题目 Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder an ...

  7. 安装mathtype出问题卸载后 office2016打开mathtype弹错误窗口

    解决方法:找到 C:\Program Files (x86)\Microsoft Office\root\Office16\STARTUP目录下的MathType Commands 6 For Wor ...

  8. Selenium LoadableComponent加载组件

    继承LoadableComponent类可以在打开地址时, 判断浏览器是否打开了预期的网址, 需要重写load()与isLoad()方法: 即使没有定义get()方法, 也可以进行get()方法的调用 ...

  9. Tomcat突然用开发工具启动不起来,只报了个红色的警告,没有其他任何异常

    碰到这个问题是,是因为我的catalina.bat文件做了配置修改,导致与工具这边的启动设置起了冲突 下面这个是我在Catalina.bat中新增的配置,删掉这个就可以了 set JAVA_OPTS= ...

  10. tomcat8编码设置和gc异常解决

    用startup.bat启动 编码解决: 用编辑器打开catalina.bat文件找到set "JAVA_OPTS=%JAVA_OPTS% %JSSE_OPTS% " 更改为 se ...