动态生成的控件怎么响应事件? 比如在OnCreate中生成了一个CEdit,由于不是在资源管理窗里面生成的,没有ID,哪应该怎么响应诸如鼠标点击,以及按键这样的事件呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在消息映射中添加BEGIN_MESSAGE_MAP ..... ON_CONTROL_RANGE(........)END_MESSAGE_MAP()并指定处理函数,具体用法看msdn 没有ID?肯定有吧或者重载PretranslateMessage拦截所有事件,响应相应消息。 可是动态生成的啊CEdit* pEdit pEdit = new CEdit;pEdit->Create(ES_NUMBER | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,CRect(80, 10, 120, 30), this, 1);怎么会有ID? 哪你用BEGIN_MESSAGE_MAP ..... ON_CONTROL_RANGE(1,1,hello)END_MESSAGE_MAP()hello()是你的相应的函数 没有ID肯定不行,你怎么让windows管理控件呢?Create的最后一个参数就是让你给即将创建的控件指定一个ID,注意定义ID时别和系统保留的ID范围冲突 SDI程序,CCommandBar问题 mfc对话框基本操作 创建BCG application失败 这个错误是什么原因??? 边缘学科:有关数字电路中逻辑设计的问题 关于注册com组件的问题 怎样响应编辑框的左键单击消息? 求救!!!!!!! 如何获取windows7系统进程audiodg.exe的全路径? 叨扰了,问个小问题 关于CImage switch语句???????????
BEGIN_MESSAGE_MAP
.....
ON_CONTROL_RANGE(........)
END_MESSAGE_MAP()
并指定处理函数,具体用法看msdn
或者重载PretranslateMessage拦截所有事件,响应相应消息。
CEdit* pEdit
pEdit = new CEdit;
pEdit->Create(ES_NUMBER | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
CRect(80, 10, 120, 30), this, 1);
怎么会有ID?
.....
ON_CONTROL_RANGE(1,1,hello)
END_MESSAGE_MAP()
hello()是你的相应的函数
Create的最后一个参数就是让你给即将创建的控件指定一个ID,注意定义ID时别和系统保留的ID范围冲突