zoukankan      html  css  js  c++  java
  • MFC 监控界面上所有文本框值的变化

    //控件消息,菜单,按钮等
    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中的消息传递

  • 相关阅读:
    选择排序法
    计算大阶乘(值很大)
    递归计算阶乘
    计算m的m次方倒数的和
    使用文件(FILE)输入输出
    判断回文数
    最小公倍数(调用函数与全局变量)
    How to 共用体
    How to 枚举
    有效编写软件的75条建议(转)
  • 原文地址:https://www.cnblogs.com/ycpanda/p/3637244.html
Copyright © 2011-2022 走看看