VC程序中实现控件的动态生成与响应

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的。

一、创建动态控件:

为了对照,我们先来看一下静态控件的创建。

放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示。

静态控件不需要调用Create()函数来创建。

而创建动态控件有很大不同,以下以按钮为例,看一下动态控件的创建过程:

1.建立控件ID号:

ID号是控件的标识,创建控件前必须先为它设置一个ID号。

打开资源中的“String Table”,在空白行上双击鼠标,这时会弹出一个ID属性对话框,在其中的ID编辑框中输入ID,如:IDC_MYBUTTON,在Caption中输入控件标题或注解(注:Caption框不能为空,为空会导致创建失败),这里我输入的是按钮上要显示的文字--动态按钮。

2.建立控件对象:

不同种类的控件应创建不同的类对象:

·按钮控件 CButton (包括普通按钮、单选按钮和复选按钮)

·编辑控件 CEdit

·静态文本控件 CStatic

·标签控件 CTabCtrl

·旋转控件 CSpinButtonCtrl

·滑标控件 CSliderCtrl

·多信息编辑控件 CRichEditCtrl

·进度条控件 CProgressCtrl

·滚动条控件 CSrcollBar

·组合框控件 CComboBox

·列表框控件 CListBox

·图像列表控件 CImageCtrl

·树状控件 CTreeCtrl

·动画控件 CAnimateCtrl

本例中我们创建一个CButton类的普通按钮。注意不能直接定义CButton对象,如:CButton m_MyBut;这种定义只能用来给静态控件定义控制变量,不能用于动态控件。

正确做法是用new调用CButton构造函数生成一个实例:

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航