您的位置:首页 > 编程语言

PB窗口使用技巧之使用窗口属性编程

2012-04-06 16:11 375 查看
本文再详细介绍几个在编程中经常用到的窗口属性,主要有control[],menuID,WindowState和tag等。

属性tag可以应用于所有的控件、用户对象与菜单,用来保存和控件相关的文本。因为文本可以随意设置,所以可以根据脚本的目的来设置各个控件的tag内容。比如,需要显示各个控件的提示信息时,可以给每个控件的tag属性赋予描述控件功能的文本或者使用注意事项的文本;如果需要知道控件的类别,可以给每个控件赋予描述控件所属类别的文字(当然还有其他的方法)。例如,下面的脚本可以显示frame的帮助信息:

w_frame.SetMicroHelp(This.Tag)

例如,下面的脚本可以根据tag的取值对各个控件进行初始化:

Int li_index,li_total

DataWindow ldw_temp

DropDownListbox lddlb_temp

RadioButton lrb_temp

li_total = Upperbound(Parent.Control[])

For li_index = 1 To li_total

Choose Case Lower(Parent.Control[li_index].Tag)

Case "DataWindow"

ldw_temp = Parent.Control[li_index]

ldw_temp.Reset()

Case "DropDownListbox"

lddlb_temp = Parent.Control[li_index]

lddlb_temp.SelectItem(0)

Case "radiobutton"

lrb_temp = Parent.Control[li_index]

lrb_temp.Checked = False

Case Else



End Choose

Next

上面的脚本中用到了窗口的Control属性。使用该属性可以引用窗口中的控件,它是一个包含窗口中所有控件的数组,可以按只读方式引用其中的控件。配合函数TypeOf可以判断控件的类型,根据类型编写相应的脚本。在需要对窗口上的控件做大范围的调整时,经常使用该属性数组进行编程。同样,要实现对窗口中各个控件复位操作,上面的脚本可以等价改写为:

Int li_index,li_total

DataWindow ldw_temp

DropDownListbox lddlb_temp

RadioButton lrb_temp

li_total = Upperbound(Parent.Control[])

For li_index = 1 To li_total

Choose Case Parent.Control[li_index].TypeOf()

Case DataWindow!

ldw_temp = Parent.Control[li_index]

ldw_temp.Reset()

Case DropDownListBox!

lddlb_temp = Parent.Control[li_index]

lddlb_temp.SelectItem(0)

Case RadioButTon!

lrb_temp = Parent.Control[li_index]

lrb_temp.Checked = False

Case Else



End Choose

Next

MenuId属性是一个指针,并指向和窗口相关联的菜单。在MDI应用程序中,多个工作表都能通过该指针引用其他菜单的实例,程序员可以编写出更为通用的脚本。关于该属性的应用,第9章已经有很多的例子了。

Windowstate属性是一个枚举型属性,可以取值为Maximized!,Minimized!和Normal!。通过该属性可以判断当前窗口的状态,也可以使用脚本直接修改该属性来改变窗口的状态。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: