使用的是一个别人写好的类
是为了在listctrl的report模式下实现编辑数据的功能
原来的类只有在鼠标点击了别的地方时,FOCUS转移后他才会处理已编辑的信息,存入listview中
现在我希望捕获那些CEdit编辑框的ON_CHANGE消息,一旦修改了数据,就立即处理,而不是一定要等到
FOCUS转移之后但难点是他是采用Create创建的(new CEdit),ID也是封装在一个结构的成员变量中如下所示:
pSubItemInfo->m_pWnd = new CEdit();
((CEdit*)pSubItemInfo->m_pWnd)->Create (dwStyle,ControlSize,this ,m_iControlIDCounter);小弟基础不好,只会象classwizard里面那样添加消息处理函数,
而不会处理非固定ID的控件的消息,
向大家求助,希望大家帮帮忙啊~~!
是为了在listctrl的report模式下实现编辑数据的功能
原来的类只有在鼠标点击了别的地方时,FOCUS转移后他才会处理已编辑的信息,存入listview中
现在我希望捕获那些CEdit编辑框的ON_CHANGE消息,一旦修改了数据,就立即处理,而不是一定要等到
FOCUS转移之后但难点是他是采用Create创建的(new CEdit),ID也是封装在一个结构的成员变量中如下所示:
pSubItemInfo->m_pWnd = new CEdit();
((CEdit*)pSubItemInfo->m_pWnd)->Create (dwStyle,ControlSize,this ,m_iControlIDCounter);小弟基础不好,只会象classwizard里面那样添加消息处理函数,
而不会处理非固定ID的控件的消息,
向大家求助,希望大家帮帮忙啊~~!
在线等~~
afxmsg void OnEnChangeId();
在CPP文件BEGIN_MESSAGE_MAP和END_MESSAGE_MAP中间插入一行:
ON_EN_CHANGE( ID_YOURID, OnEnChangeId )
关于这方面我接触得比较少
我想问一下,能不能在创建控件的那个函数中添加消息处理呢?
比如1000 ~1100
//dlg1.h
afx_msg void OnChangeEdit(UINT nID);//dlg1.cpp
BEGIN_MESSAGE_MAP(CDlg1, CDialog)
ON_CONTROL_RANGE(EN_CHANGE, 1000, 1100, OnChangeEdit)
END_MESSAGE_MAP()void CDlg1::OnChangEdit(UINT nID){
....//根据id判断改变的是哪个edit
}
谢谢~~~我去试试