如何用代码动态添加控件

2016-01-29 12:00 8 1 收藏

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

【 tulaoshi.com - C语言心得技巧 】

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

读者层次: VC初学者

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

下载示例工程 12.5K

程序运行界面如下

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

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

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

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

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

来源:https://www.tulaoshi.com/n/20160129/1484217.html

延伸阅读
标签: ASP
  Function ReplaceChar ( FstrSource )   dim strRet   if IsNull(FstrSource) then     FstrSource = ""   end if   strRet = Replace ( FstrSource , "&" , "&amp;" )   strRet = Replace ( strRet , "<" , "&lt;" )   strRet = Replace ( strRet , "" , "&gt;" ) ...
CSharpCodeProvider _coder=new CSharpCodeProvider(); ICodeCompiler complier=_coder.CreateCompiler(); CompilerParameters _par=new CompilerParameters(); _par.GenerateExecutable=true; _par.OutputAssembly="sy1.exe";//设置应用程序名 _par.MainClass="sy1";//设置主类 _par.IncludeDebugInformation=true; foreach(Assembly ...
http://www.asp888.net 豆腐技术站 在asp.ne中,我们可以利用程序在编程的时候动态的生成我们需要的WebForms 控件,我们先看看下面的例子 <html <head <script language="C#" runat="server" void Page_Load(Object sender, EventArgs e) { Panel1.Visible=true; //生成Label 标签 Label l = new Label(); l.Text = "Label"; l.ID =...
科技越发达、人类越懒惰。当我们在信息大爆炸的网络中疲倦于文字和图片,动态影像通常令人为之振奋。UGC短视频社区的红火,说明用户渐渐喜爱自产视频记录和表达;即时通讯软件功能从单一的发送文字到加入音视频,用户的交流方式正在改变。网页上以动态影像传达信息,从技术上早已不是难题。如何围绕主题,让其形式追随传播的内容,运用动态影像...
标签: Web开发
代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head titlejquery分页控件/title script src="jquery-1.3.min.js" type="text/javascript"/script /head body div class="pager"/div !--div s...

经验教程

41

收藏

39
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部