如何用代码动态添加控件

骑马骑女

骑马骑女

2016-01-29 12:00

如何用代码动态添加控件,如何用代码动态添加控件

如何用代码动态添加控件
作者:bzshow

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/)

读者层次: VC初学者

在资源编辑器里我们可以方便地在对话框中加入所需控件,比如文本编辑框、列表控件等。但假如我们需要在运行期间动态生成这些控件该怎么做呢?本文就是讲述用代码动态添加控件的方法,并提供示例工程。

下载示例工程 12.5K

程序运行界面如下

为了方便演示,我们先生成一个基于对话框的MFC工程,起名为My

在CMyDlg.h中做下面几个步骤:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/)

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(); //设置焦点//动态删除可以用如下语句GetDlgItem(ID_MYEDT)->DestroyWindow();//销毁控件 

在代码中我们只演示了编辑控件的动态生成方法,其它控件动态生成的方法基本一致,都可以参考这一过程。

展开更多 50%)
分享

猜你喜欢

如何用代码动态添加控件

C语言教程 C语言函数
如何用代码动态添加控件

C#动态添加控件

编程语言 网络编程
C#动态添加控件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

vba窗体在运行的时候动态添加控件的代码

电脑入门
vba窗体在运行的时候动态添加控件的代码

Jquery 动态添加按钮实现代码

Web开发
Jquery 动态添加按钮实现代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在VB中动态添加可响应消息的控件

编程语言 网络编程
在VB中动态添加可响应消息的控件

VC++实现工具条上的标准控件动态添加

编程语言 网络编程
VC++实现工具条上的标准控件动态添加

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

CAnimateCtrl::Open的使用问题

CAnimateCtrl::Open的使用问题

DIESEL表达式的调试

DIESEL表达式的调试
下拉加载更多内容 ↓