您的位置:首页 > 职场人生

foxpro8.0新增加功能(1)

2009-11-05 11:10 260 查看
vfp8.0新增加了类member,其功能是:可定义和派生特定的容器的成员。这些容器有:PageFrame, CommandGroup, OptionGroup 和 Grid ,它们有两个新的属性,MemberClassLibrary 和 MemberClass, 可以用来为成员对象设置默认的自定义类。
MemberClassLibrary指明自定义类库, MemberClass指明类库中自定义的类。
下面以一个实例代码说明:

主程序:
PUBLIC x
x = CREATEOBJECT("form") //创建一个表单对象
x.ADDOBJECT("pf1","myPageFrame")//增加一自定义页框对象
x.pf1.Visible = .T. //页框可见
x.Show() //表单可见

DEFINE CLASS myPageFrame AS PageFrame//由基类pageframe派生一自定义页框类
MemberClassLibrary = 'myPages.PRG' //指明页框的自定义类库
MemberClass = 'myPage'//指明自定义类
PageCount = 2//页个数
TabOrientation = 1//页的外观方式
ENDDEFINE

下面是自定义类库
mypages.prg

DEFINE CLASS myPage AS Page //自定义页类
ADD OBJECT cmd1 AS commandbutton WITH ;//每页都有一个按钮
Caption = "Hello", FontBold = .T.
PROCEDURE Init //每页的初始化事件
THIS.Caption = "Funpage"+TRANSFORM(THIS.Parent.PageCount)
ENDPROC
PROCEDURE cmd1.Click //按钮的click事件处理
MESSAGEBOX(this.Caption)
THIS.Parent.Parent.PageCount = THIS.Parent.Parent.PageCount+1
ENDPROC
ENDDEFINE

通过上面的自定义类库中的类,为每个页指定了统一的行为。

注意:
不能传递参数到新创建成员的 Init 事件, 因为成员是在父容器的 Count 属性改变时动态创建的,如果需要传递参数, 可以用容器的 AddObject 方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲 foxpro