动态创建控件并响应事件
2009-03-31 14:43
459 查看
动态创建控件(此处以CButton为例)
源代码
方法1:
在.h文件中声明 控件类型
CButton bt1;
在类的OnPaint方法中,绘制按钮(.cpp文件中)
CButton bt1 = new CButton;
If(bt1 != NULL)
{
bt1.Create("OK",BS_CENTER,CRect(100,150,150,180),this,123);//123为控件的ID号(UINT型)
bt1.ShowWindow(SW_SHOW);
}
注册命令消息响应事件
在.h文件中声明消息
protected:
//{{AFX_MSG(Cleft)
afx_msg void OnPaint();
//}}AFX_MSG
// afx_msg void Onclick();
// ON_COMMAND_RANGE(2200,2204,ONClickButton);
afx_msg void onclick(UINT conid);
DECLARE_MESSAGE_MAP()
};
在.cpp文件中映射消息
BEGIN_MESSAGE_MAP(Cleft, CView)
//{{AFX_MSG_MAP(Cleft)
ON_WM_PAINT()
//}}AFX_MSG_MAP
ON_COMMAND(123,onclick)
END_MESSAGE_MAP()
实现消息函数
void Cleft::onclick(UINT conid)
{
AfxMessageBox("123");
}
方法2:
新建一个控件类,让它继承自你要实现的类(如CButton);在这个新建类中重载相应的事件(如OnClick事件),在动太创建后,重写这个相应的消息实现函数即可。
源代码
方法1:
在.h文件中声明 控件类型
CButton bt1;
在类的OnPaint方法中,绘制按钮(.cpp文件中)
CButton bt1 = new CButton;
If(bt1 != NULL)
{
bt1.Create("OK",BS_CENTER,CRect(100,150,150,180),this,123);//123为控件的ID号(UINT型)
bt1.ShowWindow(SW_SHOW);
}
注册命令消息响应事件
在.h文件中声明消息
protected:
//{{AFX_MSG(Cleft)
afx_msg void OnPaint();
//}}AFX_MSG
// afx_msg void Onclick();
// ON_COMMAND_RANGE(2200,2204,ONClickButton);
afx_msg void onclick(UINT conid);
DECLARE_MESSAGE_MAP()
};
在.cpp文件中映射消息
BEGIN_MESSAGE_MAP(Cleft, CView)
//{{AFX_MSG_MAP(Cleft)
ON_WM_PAINT()
//}}AFX_MSG_MAP
ON_COMMAND(123,onclick)
END_MESSAGE_MAP()
实现消息函数
void Cleft::onclick(UINT conid)
{
AfxMessageBox("123");
}
方法2:
新建一个控件类,让它继承自你要实现的类(如CButton);在这个新建类中重载相应的事件(如OnClick事件),在动太创建后,重写这个相应的消息实现函数即可。
相关文章推荐
- VS2003 C#:重写键盘响应事件、动态创建控件、创建线程、在线程中使用委托在界面显示数据
- (转)在MFC中动态创建控件以及事件响应
- 动态创建控件支持事件响应
- 在MFC中动态创建控件以及事件响应
- MFC中动态创建控件以及事件响应实现方法
- 动态创建控件支持事件响应并可保存与读取
- MFC中动态创建控件以及事件响应
- 在MFC中动态创建控件以及事件响应
- asp.net C#动态添加创建生成button按钮控件没有触发执行响应click绑定事件处理
- 在MFC中动态创建控件以及事件响应
- Asp.net 动态创建的控件并添加事件,无响应的解决方法。
- 动态创建控件支持事件响应并可保存与读取
- 在MFC中动态创建控件以及事件响应
- 在MFC中动态创建控件以及事件响应
- MFC动态创建控件并响应事件代码实现过程
- Asp.net 动态创建的控件并添加事件,无响应的解决方法。
- C#动态创建控件之事件响应(刚刚答复提问,正好一并录之)
- 在MFC中动态创建控件以及事件响应
- 在MFC中动态创建控件以及事件响应
- 动态创建控件支持事件响应并可保存与读取