PB視窗使用技巧之使用視窗屬性程式設計

2021-08-26 19:36:14 字數 1926 閱讀 5344

本文再詳細介紹幾個在程式設計中經常用到的視窗屬性,主要有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!。通過該屬性可以判斷當前視窗的狀態,也可以使用指令碼直接修改該屬性來改變視窗的狀態。

PB資料視窗控制項之屬性

屬性 dataobject 資料來源 title 用來顯示在資料視窗的標題條 titlebar 上的乙個字串。建議該字串要有一定的含義,能夠標明資料視窗的用途或者其中的資料的類別。該屬性的預設值none。當屬性titlebar為true時,該屬性起作用。visible 是否顯示資料視窗控制項,預設為...

vi多視窗使用技巧

1 開啟多個視窗 開啟多個視窗的命令以下幾個 橫向切割視窗 new 視窗名 儲存後就是檔名 split 視窗名,也可以簡寫為 sp 視窗名 縱向切割視窗名 vsplit 視窗名,也可以簡寫為 vsp 視窗名 2 關閉多視窗 可以用 q 也可以使用 close,最後乙個視窗不能使用close關閉。使用...

vim多視窗使用技巧

1.同時開啟多個檔案,比如要一邊看配置,一邊寫 vim o one.txt two.txt three.txt 2.已經開啟了檔案 vs 視窗名,橫向新建視窗名檔案 sv 視窗名,縱向新建視窗名檔案 2.比較同一檔案的首尾 new 不加視窗名 顯示已經開啟的檔案的映像 new 視窗名.新建視窗名的檔...