当前位置: 首页 > 编程语言 > vfp > 正文

看实例学VFP:编程方式向表单添加新控件

时间:2009-02-23 www.bianceng.cn 老马

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

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

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

本例制作步骤如下:

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

属性名 属性值
Caption 编程入门网-编程方式向表单添加新控件
AutoCenter .T.
width 375
Height 250

2.向表单中添加两个命令按钮command1和command2,将其Caption属性分别设置为“新建表格”和“退出”并适当调整它们在表单上的位置,如下图:

3.添加事件代码:

(1)表单form1的init事件:

use 网站信息表

(2)表单form1的unload事件:

close data

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

this.enabled=.f.
thisform.height=250
thisform.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环境下调试通过。

查看全套“菜鸟也学VFP”教程