在VFP編程中,微調(diào)控件是最常用的控件之一。按照微調(diào)控件提供的基本功能,通過單擊向上或向下箭頭,而達(dá)到微調(diào)控件的或最小值時(shí),如繼續(xù)單擊向上或向下箭頭,將保持或最小值不變。筆者通過對(duì)Spinner控件屬性和事件的分析,用編程的方法實(shí)現(xiàn)了循環(huán)微調(diào)控件功能。
循環(huán)微調(diào)控件(CycleSpinner)所實(shí)現(xiàn)的功能是:當(dāng)單擊向上箭頭而達(dá)到值時(shí),再單擊向上箭頭,能自動(dòng)跳到最小值;當(dāng)單擊向下箭頭而達(dá)到最小值時(shí),能自動(dòng)跳到值;其余功能均繼承Spinner基類的功能。具體實(shí)現(xiàn)方法如下:
利用表單控件,在表單中設(shè)計(jì)一個(gè)微調(diào)按鈕,并設(shè)置如下屬性:
SpinnerHighValue=Max
&&Max應(yīng)小于Spinner基類所
&&提供的默認(rèn)值
SpinnerLowValue=Min
&&Min應(yīng)大于Spinner基類所
&&提供的最小默認(rèn)值
Value=1
Name=′CycleSpinner′
在Init事件中寫入如下代碼:
This.SpinnerHighValue=This.SpinnerHighValue+This.Increment
This.SpinnerLowValue=This.SpinnerLowValue-This.Increment
在InteractiveChange事件中寫入如下代碼:
If This.Value=This.SpinnerHighValue
This.Value=Int(This.SpinnerLowValue+This.Increment)
Endif
If This.Value=This.SpinnerLowhValue
This.Value=Int(This.SpinnerHighValue-This.Increment)
Endif
Thisform.Refresh
再將其作為類保存起來,添加到你的類庫(kù)中。
若你在編程中,需用此功能,就可直接用此循環(huán)微調(diào)控件類了。
循環(huán)微調(diào)控件(CycleSpinner)所實(shí)現(xiàn)的功能是:當(dāng)單擊向上箭頭而達(dá)到值時(shí),再單擊向上箭頭,能自動(dòng)跳到最小值;當(dāng)單擊向下箭頭而達(dá)到最小值時(shí),能自動(dòng)跳到值;其余功能均繼承Spinner基類的功能。具體實(shí)現(xiàn)方法如下:
利用表單控件,在表單中設(shè)計(jì)一個(gè)微調(diào)按鈕,并設(shè)置如下屬性:
SpinnerHighValue=Max
&&Max應(yīng)小于Spinner基類所
&&提供的默認(rèn)值
SpinnerLowValue=Min
&&Min應(yīng)大于Spinner基類所
&&提供的最小默認(rèn)值
Value=1
Name=′CycleSpinner′
在Init事件中寫入如下代碼:
This.SpinnerHighValue=This.SpinnerHighValue+This.Increment
This.SpinnerLowValue=This.SpinnerLowValue-This.Increment
在InteractiveChange事件中寫入如下代碼:
If This.Value=This.SpinnerHighValue
This.Value=Int(This.SpinnerLowValue+This.Increment)
Endif
If This.Value=This.SpinnerLowhValue
This.Value=Int(This.SpinnerHighValue-This.Increment)
Endif
Thisform.Refresh
再將其作為類保存起來,添加到你的類庫(kù)中。
若你在編程中,需用此功能,就可直接用此循環(huán)微調(diào)控件類了。