动态控件的消息响应怎么加?

static163 2011-03-30 10:22:48
如果一个界面上的控件很多都得动态生成,而且数量根据需要变化,该怎么添加它的消息响应函数,我知道自己可以手工加,但是有没有办法自动处理,比较找到CButtonCEidtCComboBox这些控件的公共的地方,用一个原始的消息响应来处理各种不同的事件,而这些不同的事件我可以在响应函数中作区分,不知道可不可以,不懂MFC.

比如,有N多个CEidt和CComboBox,我想获取他们的内容变化事件,可以只用一个响应函数做到吗?
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
static163 2011-03-30
  • 打赏
  • 举报
回复
好了,该结了,二楼给的http://topic.csdn.net/u/20090822/23/01a887c7-3050-460d-9028-582e692d9af7.html?62449可以用,里面具体的还不清楚,应该是可以,我再研究下.
fishion 2011-03-30
  • 打赏
  • 举报
回复
ON_COMMAND_RANGE
ZM 2011-03-30
  • 打赏
  • 举报
回复
ON_COMMAND_RANGE( id, idLast, memberFxn );
ON_NOTIFY_RANGE( wNotifyCode, id, idLast, memberFxn )
ON_NOTIFY_EX_RANGE( wNotifyCode, id, idLast, memberFxn )
向立天 2011-03-30
  • 打赏
  • 举报
回复
MFC自身的消息机制是不支持动态创建的
不过你可以考虑自行实现一个类似的消息机制
或者用函数指针自己维护消息队列
或者通过PreTranslateMsg对鼠标消息进行拦截
总之方法还是比较多的
King_hhuang 2011-03-30
  • 打赏
  • 举报
回复
你创建的时候不是有个控件ID吗;直接手动添加消息响应啊;照着向导生成的消息写就是啦(把ID替换一下)
http://hi.baidu.com/lyzneuq/blog/item/25e782c7009e88179d163dec.html
Dreadnought 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 huangcheng90 的回复:]

C/C++ code

BEGIN_MESSAGE_MAP(CXXDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, &CXXDlg::OnBnClickedButton1)
END_MESSAGE_MAP()
……
[/Quote]
http://wglnngt-001.blog.163.com/blog/static/407705842011230214340/
http://topic.csdn.net/u/20090822/23/01a887c7-3050-460d-9028-582e692d9af7.html?62449
Dreadnought 2011-03-30
  • 打赏
  • 举报
回复

BEGIN_MESSAGE_MAP(CXXDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON1, &CXXDlg::OnBnClickedButton1)
END_MESSAGE_MAP()


void CXXDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码

}




在你头文件中添加
public:
afx_msg void OnBnClickedButton1();

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧