窗口对象的自定义函数即对象的方法,它封装了该窗口特定的数据操作方法,是其它对象与本窗口对象的数据接口,提高了本窗口对象的灵活性和可重用性。

定义窗口对象的函数,需要注意三个方面的内容:

1、该函数的可用级别:

public(可被其它任意对象调用)

private(只能被本窗口的其它函数及子对象调用)

protect(具有private级别,并可被本窗口的继承者调用)

2、该函数的返回值类型

3、该函数的参数及类型

下面为程序主窗口w_hello_main定义两个不同调用级别的函数,并分别在本窗口和其它窗口中的控件事件中调用,以观察函数可调用级别的的不同点。

分三步走:第一步,为窗口对象定义函数。第二步,在本窗口对象内调用自定义函数。第三步,调用其它窗口对象的函数。

第一步,为窗口对象定义函数:

打开w_hello_main窗口画板,从"Declare"菜单中选取"Window Functions"项。

在出现的窗口选择对话框中单击"new"按钮。

为函数起个名称,并定义它的调用级别,返回值。这里为简洁起见我们不使用参数。然后单击"OK"按钮进入脚本画板。

输入下面的语句:

return sle_1.text

关闭并保存该函数。然后再定义第二个窗口对象函数,其名称为"wf_getstatictext",调用级别为"private",返回值类型为"String"。

 

第二步,在本窗口对象内调用自定义函数

在主窗口中添加一个命令按钮,显示文本为“窗口函数调用”。

为该按钮添加以下两行代码:

messagebox("input text is",parent.wf_getinputtext())

messagebox("input text is",parent.wf_getinputtext())

注意:因按钮是主窗口的子对象,所以可以调用该窗口的所有函数

第三步,调用其它窗口对象的函数

下面来试一试在另外的窗口中调用w_hello_main中的函数。

首先新建一个空的窗口w_wftest并保存。

在w_hello_main中添加一个命令按钮,显示文本为“在其它窗口中调用本窗口函数”,在其"clicked"事件中添加代码:

open(w_wftest)

设计w_wftest窗口,在其中加入两个静态文本标签,一个命令按钮。

在命令按钮的"clicked"事件中添加如下的代码:

st_1.text=w_hello_main.wf_getinputtext()

//下面的语句试图调用主窗口的private类型的函数,
//因该函数只能由主窗口自身及其内部对象调用,所以该语句不可用 //st_2.text=w_hello_main.wf_getstatictext()

关闭并保存所做的修改。

最后,运行当前的应用程序,体会窗口函数的调用所起的作用。

 

思考:对象函数存在不同的可调用级别有什么意义?

 

返回

 

数据空间