Welcome

首页 / 软件开发 / VFP / 看实例学VFP:编程方式向表单添加新控件

看实例学VFP:编程方式向表单添加新控件2009-02-23 www.bianceng.cn 老马vfp的“表单控件工具栏”包含了标签(Label)、文本框(TextBox)等常用的控件类,以前我们向表单添加控件时多数都是在设计时使用该工具栏。 单击该工具栏上的某个控件图标后,即可在表单上拖动、绘制出所需要的控件。但有时我们需要的控件有可能在设计时无法确定,而是在应用程序运行时根据具体情况动态创建的,这时就需要以编程的方式,通过使用addobject()函数或creatobject()函数动态地向表单添加新控件。

本例在命令按钮的click事件代码中,使用系统基类grid动态创建出一个表格,单击“新建表格”按钮即会动态创建出一个表格并且把“网站信息表”作为数据源赋给它。本例中使用到了“数据1”数据库中的数据表“网站信息表”,关于该数据库的情况已经在一文中给出,运行时界面如下:

单击了“新建表格”按钮后,则会动态创建表格并显示“网站信息表”的数据,如下图:

本例制作步骤如下:

1.新建表单form1,将其保存为“编程方式向表单添加新控件.scx”,并按下表设置其属性:

属性名属性值
Caption编程入门网-编程方式向表单添加新控件
AutoCenter.T.
width375
Height250
2.向表单中添加两个命令按钮command1和command2,将其Caption属性分别设置为“新建表格”和“退出”并适当调整它们在表单上的位置,如下图:

3.添加事件代码:

(1)表单form1的init事件:

use 网站信息表

(2)表单form1的unload事件:

close data

(3)命令按钮command1的click事件:

this.enabled=.f.thisform.height=250thisform.addobject("grid1","grid")thisform.grid1.Setall("DynamicBackColor","RGB(224,225,255)","Column")with thisform.grid1.top=50.left=10.width=thisform.width-10.height=thisform.height-70.recordsource="网站信息表".visible=.t..Column1.Header1.BackColor=RGB(255,255,190).Column2.Header1.BackColor=RGB(255,255,190).Column3.Header1.BackColor=RGB(255,255,190)endwith
(4)命令按钮command2的click()事件:

thisform.release

4.运行“编程方式向表单添加新控件.scx”。

本例代码在Win2003+VFP6.0环境下调试通过。