您的位置:首页 > 运维架构

MFC 监控界面上所有文本框值的变化

2013-10-14 23:15 1166 查看
//控件消息,菜单,按钮等
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中的消息传递
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: