如何用代码动态添加控件
1个回答
展开全部
下载示例工程 12.5K程序运行界面如下
为了方便演示,我们先生成一个基于对话框的MFC工程,起名为My在CMyDlg.h中做下面几个步骤:public:
//加上这个变量
CEdit m_MyEdit;protected://加上这个函数, 用来响应编辑框改变的事件
afx_msg void OnChangeEdit();
在CMyDlg.cpp中做下面几个动作:
//增加这一行,为该编辑框设定ID为1820
#define ID_MYEDT 1820
在BEGIN_MESSAGE_MAP(CMyDlg, CDialog)下面加入
ON_EN_CHANGE(ID_MYEDT, OnChangeEdit)
添加这一句的作用是将编辑控件内容改变的消息映射到OnChangeEdit函数,你要在CMyDlg.cpp中实现OnChangeEdit()函数;
好了,让我们动态生成控件吧! m_MyEdit.CreateEx(WS_EX_CLIENTEDGE, // 3D-border外观
_T("EDIT"),
NULL,
ES_AUTOHSCROLL | ES_LEFT | ES_NOHIDESEL | WS_CHILD,
rect, this,
ID_MYEDT);//生成edit控件
m_MyEdit.ShowWindow(SW_SHOW); //显示控件
m_MyEdit.SetFocus(); //设置焦点
//动态删除可以用如下语句
在代码中我们只演示了编辑控件的动态生成方法,其它控件动态生成的方法基本一致,都可以参考这一过程。
为了方便演示,我们先生成一个基于对话框的MFC工程,起名为My在CMyDlg.h中做下面几个步骤:public:
//加上这个变量
CEdit m_MyEdit;protected://加上这个函数, 用来响应编辑框改变的事件
afx_msg void OnChangeEdit();
在CMyDlg.cpp中做下面几个动作:
//增加这一行,为该编辑框设定ID为1820
#define ID_MYEDT 1820
在BEGIN_MESSAGE_MAP(CMyDlg, CDialog)下面加入
ON_EN_CHANGE(ID_MYEDT, OnChangeEdit)
添加这一句的作用是将编辑控件内容改变的消息映射到OnChangeEdit函数,你要在CMyDlg.cpp中实现OnChangeEdit()函数;
好了,让我们动态生成控件吧! m_MyEdit.CreateEx(WS_EX_CLIENTEDGE, // 3D-border外观
_T("EDIT"),
NULL,
ES_AUTOHSCROLL | ES_LEFT | ES_NOHIDESEL | WS_CHILD,
rect, this,
ID_MYEDT);//生成edit控件
m_MyEdit.ShowWindow(SW_SHOW); //显示控件
m_MyEdit.SetFocus(); //设置焦点
//动态删除可以用如下语句
在代码中我们只演示了编辑控件的动态生成方法,其它控件动态生成的方法基本一致,都可以参考这一过程。
logo在线生成器
2024-10-23 广告
2024-10-23 广告
燕雀零一专业logo生成器,是一家科技型的设计公司,团队深耕企业品牌设计服务已有十余年,已助力多家企业塑造其品牌形象及体验,服务内容含:LOGO设计/VI设计/产品包装设计/导视店面门头及空间设计,吉祥物设计/海报设计等。 我们的目标是帮助...
点击进入详情页
本回答由logo在线生成器提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询