通用控制項屬性設定函式

2021-04-20 09:26:54 字數 1997 閱讀 1594

在優化乙個軟體時,發現了大量同類控制項的屬性設定問題。這些控制項都具有相同的屬性,需要編寫大量重複的**,非常難看,一旦改變,還需要全部重新寫上一遍,效率非常低。於是,突發奇想,並借助callbyname函式,構造了乙個通用的控制項屬性設定函式,節約了很多程式,有利於生成高效能的執行**。

一、函式構造

'通用控制項屬性設定函式

'引數說明:frm,控制項所在窗體;ctrlname,frm窗體上的控制項名字;lmin,lmax分別是控制項的最小、最大編號;cpropertyname,表示要設定的屬性名稱;bproperty,表示要設定的控制項屬性。

'    作    者:chenjl1031(東方之珠)

public

function setcontrolproperty(frm as form, byval ctrlname as

string, byval lmin as

long, byval lmax as

long, byval cpropertyname as

string, byval bproperty as

variant)

dim comctrl as control '通用控制項

dim comctrlname as

string

'通用控制項名字

foreach comctrl in frm '列舉窗體frm上的控制項

if instr(comctrl.name, ctrlname) > 0 then

'是否指定控制項名

comctrlname = comctrl.name '獲取控制項名稱

mid(comctrlname, 1, len(ctrlname)) = space(len(ctrlname)) '獲取控制項編號

if (val(comctrlname) >= lmin and val(comctrlname) <= lmax) then

'指定範圍內的控制項

callbyname comctrl, cpropertyname, vblet, bproperty '設定屬性

endif

endif

next

endfunction

二、呼叫方法

call setcontrolproperty(me, "image", 1, 20, "visible", false)

call setcontrolproperty(me, "image", 1, 10, "visible", true)

image1.visible = false

image2.visible = false

image3.visible = false

image4.visible = false

image5.visible = false

image6.visible = false

image7.visible = false

image8.visible = false

image9.visible = false

.......................

image20.visible = false

再如:要將窗體form1中下面10個框的背景色全部設定成&h8000000f,只須:

call setcontrolproperty(form1, "picture", 1, 10, "backcolor",&h8000000f)

picture1.backcolor = &h8000000f

picture2.backcolor = &h8000000f

picture3.backcolor = &h8000000f

...............................

picture10.backcolor = &h8000000f

三、其它

該函式一般可以放在標準模組中。當然,也可以編寫成activex dll。

C 控制項通用屬性

3.1 控制項通用屬性 大部分控制項,例如 label button textbox 等,都是 control 類的派生類。control 類中 定義了這些派生類控制項通用的一組屬性和方法,這些屬性是 name 控制項的名稱,區別控制項類不同物件的唯一標誌,例如建立乙個 button 控制項類對 象...

基本控制項屬性設定1

1 靜態文字框字型設定 下面可以在oninitdialog中設定 cfont cfont 全域性變數 cfont.createfont 68,這個數字就是字型大小了 0,0,0,fw bold,false,false,0,ansi charset,ncharset out default preci...

CSS padding 屬性 實現設定控制項內邊距

設定 p 元素的 4 個內邊距 p padding 簡寫屬性在乙個宣告中設定所有內邊距屬性。這個簡寫屬性設定元素所有內邊距的寬度,或者設定各邊上內邊距的寬度。行內非替換元素上設定的內邊距不會影響行高計算 因此,如果乙個元素既有內邊距又有背景,從視覺上看可能會延伸到其他行,有可能還會與其他內容重疊。元...