《優(yōu)化VFP的組合框5篇》由精心整編,希望在【軟件控件】的寫作上帶給您相應(yīng)的幫助與啟發(fā)。
VFP:頁框控件的使用 1
1、組合框的三種形式
組合框是用來顯示一個(gè)文本框及一個(gè)下拉列表的控件,你可能認(rèn)為只有一種組合框,但其實(shí)有三種,可以通過設(shè)置組合框的STYLE屬性來選擇其一,下面是設(shè)置組合框的STYLE屬性時(shí)用的值:
VBCOMBODROPDOWN --0 :包括一個(gè)下拉列表和一個(gè)文本框,可以選擇也可輸入文字;
VBCOMBOSIMPLE --1 :簡(jiǎn)單組合框,包括一個(gè)文本框和一個(gè)不會(huì)下拉的列表;
VBCOMBODROPDOWNLIST --2 :只選組合框,
VB 組合框使用技巧
,
2、在組合框中添加圖象
這需要使用IMAGE組合框ImageCombo和ImageList,我們先在“添加組件”中選中“Ms Common Control 6.0”然后添加ImageCombo和ImageList,并在ImageList中添加圖片,然后可以用以下語句為下拉框添加圖片。
1,“key1”,“item1”,1
2,“key2”,“item2”,2
VFP軟件實(shí)例之框控件 2
頁框(pageframe) 也是vfp的一個(gè)基本控件,使用它可以制作出類似于windows對(duì)話框的效果,關(guān)于這個(gè)控件的常用屬性和方法請(qǐng)參考vfp基礎(chǔ)教程-頁框和頁一文,
頁框控件本身是一個(gè)容器,其中可以包含若干個(gè)頁(page);而頁也是容器,可以在其中添加各種對(duì)象,因此無論是在設(shè)計(jì)時(shí)添加對(duì)象或者是代碼引用,都要比別的控件麻煩些。在使用這個(gè)控件時(shí)需要注意:如果設(shè)計(jì)時(shí)要向某個(gè)頁中添加對(duì)象,一定要在頁框的編輯狀態(tài)下選中該頁的標(biāo)簽,然后再向該頁中添加控件;另外在不同頁之間切換時(shí),需要處理好數(shù)據(jù)源的問題。
剛接觸這個(gè)控件的同志可能經(jīng)常會(huì)碰到這樣一個(gè)問題:即使在頁框中只設(shè)定了兩頁,這兩頁的標(biāo)題寬度也會(huì)平均分配并且占滿整個(gè)頁框的寬度;而在標(biāo)準(zhǔn)windows對(duì)話框中,無論有多少頁,頁面標(biāo)題都是左對(duì)齊排列的,如下圖:
這個(gè)問題很好解決,把頁框的TabStyle屬性值設(shè)為“1-非兩端”就可以出來這種左對(duì)齊的效果。
本文來設(shè)計(jì)一個(gè)頁框控件的應(yīng)用實(shí)例,在本例中通過頁框控件的兩個(gè)頁實(shí)現(xiàn)了看實(shí)例學(xué)VFP:對(duì)表中記錄進(jìn)行定位與查找操作和看實(shí)例學(xué)VFP:向數(shù)據(jù)表中添加記錄并驗(yàn)證輸入數(shù)據(jù)是否合法這兩個(gè)例子的功能,運(yùn)行時(shí)如下圖:
制作步驟如下:
一、新建表單,將其caption屬性值設(shè)置為“編程入門網(wǎng)-頁框控件”,AutoCenter屬性值設(shè)置為。t.,保存為“表單1.scx”。
二、向表單上添加一個(gè)頁框控件pageframe1,將其pagecount屬性值設(shè)為2,TabStyle屬性值設(shè)為“1-非兩端”。
三、右擊頁框控件選“編輯”命令,在頁框的編輯狀態(tài)下選中page1,將其caption屬性值設(shè)置為“查找記錄”,按照看實(shí)例學(xué)VFP:對(duì)表中記錄進(jìn)行定位與查找操作一文向page1添加相同的控件并為各個(gè)控件設(shè)置相同的屬性。
四、在頁框的編輯狀態(tài)下選中page2,將其caption屬性值設(shè)置為“添加記錄”,按照看實(shí)例學(xué)VFP:向數(shù)據(jù)表中添加記錄并驗(yàn)證輸入數(shù)據(jù)是否合法一文向page2添加相同的控件并為各個(gè)控件設(shè)置相同的屬性。
五、設(shè)置完畢后的表單設(shè)計(jì)器如下圖:
六、添加事件代碼:
(一)表單的init事件代碼:
&& coded by =.f. &&屏蔽表單的最大化按鈕this.MinButton=.f. &&屏蔽表單的最小化按鈕this.pageframe1.activepage=2 &&指定第二頁為當(dāng)前頁set exact onuse 網(wǎng)站信息表this.pageframe1=“編號(hào)”with this.pageframe1 .width=290 .height=100 .left=0 .top=0 .recordsource=“網(wǎng)站信息表” .deletemark=.f. .visible=.t. .readonly=.t. .ColumnCount=3 .Column1.Header1.Caption=“編號(hào)” .Column1.Header1.BackColor=RGB(255,255,190) .Column2.Header1.BackColor=RGB(255,255,190) .Column2.Header1.Caption=“網(wǎng)站名稱” .Column3.Header1.BackColor=RGB(255,255,190) .Column3.Header1.Caption=“網(wǎng)站網(wǎng)址” .Column1.width=75 .Column2.width=80 .Column3.width=150endwithwith this.pageframe1 .width=290 .height=100 .left=0 .top=0 .recordsource=“網(wǎng)站信息表” .deletemark=.f. .visible=.t. .readonly=.t. .ColumnCount=3 .Column1.Header1.Caption=“編號(hào)” .Column1.Header1.BackColor=RGB(255,255,190) .Column2.Header1.BackColor=RGB(255,255,190) .Column2.Header1.Caption=“網(wǎng)站名稱” .Column3.Header1.BackColor=RGB(255,255,190) .Column3.Header1.Caption=“網(wǎng)站網(wǎng)址” .Column1.width=75 .Column2.width=80 .Column3.width=150endwiththis.pageframe1(“DynamicBackColor”,“RGB(224,225,255)”,“Column”)this.pageframe1(“DynamicBackColor”,“RGB(224,225,255)”,“Column”)
VB―組合框控件 3
文本框控件(textbox)主要用于接收或顯示數(shù)據(jù),在vfp中是一個(gè)常用控件,差不多每個(gè)程序都要用到它,vfp基礎(chǔ)教程-文本框(textbox)控件及vfp基礎(chǔ)教程-數(shù)組中已經(jīng)分別對(duì)文本框控件和數(shù)組做了介紹,本文來設(shè)計(jì)一個(gè)將這二者結(jié)合起來應(yīng)用的例子。
關(guān)于文本框控件數(shù)據(jù)源的處理:
如果在表單中使用數(shù)據(jù)環(huán)境,可以在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”中拖動(dòng)表的各個(gè)字段到表單上,系統(tǒng)會(huì)自動(dòng)生成各個(gè)字段對(duì)應(yīng)的標(biāo)簽及文本框,并且文本框的數(shù)據(jù)源會(huì)自動(dòng)與表中對(duì)應(yīng)的字段綁定,這是一種處理方式;另外也可以不使用數(shù)據(jù)環(huán)境,先向表單添加文本框,然后在設(shè)計(jì)時(shí)或運(yùn)行時(shí)在代碼中為文本框賦數(shù)據(jù)源,本文就是這樣的一個(gè)例子,運(yùn)行界面如下 :
在上圖中,對(duì)表單上的各個(gè)文本框控件的數(shù)據(jù)源等相關(guān)屬性值采用了與在看實(shí)例學(xué)VFP:模擬VB控件數(shù)組操作標(biāo)簽控件一例中類似的方式來處理,相關(guān)說明見代碼中的注釋。
制作步驟如下 :
一、新建表單,將其caption屬性值設(shè)置為“編程入門網(wǎng)-文本框及數(shù)組的綜合應(yīng)用”,保存為“表單1.scx”。
二、向表單上添加三個(gè)label控件label1~label3,將它們的caption屬性值依次設(shè)置為“編號(hào)”、“網(wǎng)站名稱”和“網(wǎng)站網(wǎng)址”,并把這三個(gè)label控件排成一列。
三、向表單上添加三個(gè)文本框控件Text1~Text3,并把它們排成一列與label1~對(duì)應(yīng)起來。
四、在表單下方添加四個(gè)命令按鈕command1~command4,將它們的caption屬性值依次設(shè)置為“第一條”、“上一條”、“下一條”和“最后一條”。
五、適當(dāng)調(diào)整各控件的位置,調(diào)整后的表單設(shè)計(jì)器如下圖:
六、添加事件代碼:
1、表單的init事件代碼:
set safety offuse 網(wǎng)站信息表copy to 結(jié)構(gòu) structure extended &&復(fù)制網(wǎng)站信息表的結(jié)構(gòu)use 結(jié)構(gòu)go topdime stru(3) &&定義數(shù)組do while !eof() select 結(jié)構(gòu) for i=1 to 3mt1=“text”+alltrim(str(I))thisform.&mt1..backstyle=0 &&將文本框的backstyle屬性值均設(shè)為0thisform.&mt1..disabledForeColor=RGB(0,0,255) &&指定失效控件的前景色 thisform.&mt1..enabled=.f. &&將文本框的enabled屬性值均設(shè)為。f.stru(I)=結(jié)構(gòu)。field_name &&將“結(jié)構(gòu)”表的field_name字段值依次賦給三個(gè)數(shù)組元素 skip endforenddouse 網(wǎng)站信息表for j=1 to 3 sjy=alltrim(“網(wǎng)站信息表。”+stru(j)) mt2=“text”+alltrim(str(J)) thisform.&mt2..controlsource=sjy &&依次為三個(gè)文本框控件賦數(shù)據(jù)源endfor
2、表單的unload事件代碼:close data
3、“第一條”命令按鈕command1的click事件代碼:
if bof()=.f. go
4、“上一條”命令按鈕command2的click事件代碼:
if bof()=.f. skip -
5、“下一條”命令按鈕command3的click事件代碼:
if eof()=.f.
6、“最后一條”命令按鈕command4的click事件代碼:
if eof()=.f. go
七、運(yùn)行“表單1.scx”,
本例代碼在Win+VFP6.0環(huán)境下調(diào)試通過。
VB 組合框使用技巧 4
老年人如何優(yōu)化基金組合
問:老年人的精力遠(yuǎn)不如年輕時(shí),那些高風(fēng)險(xiǎn)、高收益的投資產(chǎn)品,顯然不符合老年人的選擇,于是他們大多選擇了買基金。請(qǐng)問,老年人該如何優(yōu)化基金組合?答:老年人投資金融產(chǎn)品當(dāng)然應(yīng)以穩(wěn)? 可以按以下幾點(diǎn)來優(yōu)化基金組合:第一,重新確立資產(chǎn)配置目標(biāo)。老年人在追求資產(chǎn)的保值增值時(shí),更應(yīng)該注重穩(wěn)當(dāng)與安全,一旦發(fā)現(xiàn)當(dāng)初的投資組合不能很好地符合自己的穩(wěn)健理財(cái)目標(biāo)時(shí),就必須對(duì)原有的投資組合進(jìn)行調(diào)整。同時(shí),不要集中所有資金投資于一個(gè)基金產(chǎn)品,組合投資分散化是防范風(fēng)險(xiǎn)的有效措施。另外,為了應(yīng)付突發(fā)事件和保障生活質(zhì)量,老年人還應(yīng)拿出部分收?
第二,篩選品質(zhì)不佳的賣出。在一定要賣出原有基金來調(diào)整組合時(shí),投資者首先考慮的就是那些業(yè)績(jī)表現(xiàn)不佳的品種。但要注意不能僅根據(jù)絕對(duì)收益率來衡量其表現(xiàn),而要將之與同類風(fēng)格的品種相比較,而且不能太注重短期表現(xiàn)。建議采用晨星基金評(píng)級(jí)中最近一年或兩年的總回?
第三,精選業(yè)績(jī)優(yōu)良的'產(chǎn)品。老年投資者還要檢查自己是否持有過多某類風(fēng)格相同的基金。在這種情況下,你可以把自己持有的基金按風(fēng)格分類,并確定各類風(fēng)格的比例。投資同類風(fēng)格的基金較多時(shí),應(yīng)適當(dāng)對(duì)投資組合進(jìn)行壓縮,滿足投資的多樣性需求并減少風(fēng)險(xiǎn)
優(yōu)化VFP的組合框 5
組合框控件(ComboBox)將文本框控件(TextBox)與列表框控件(ListBox)的特性? 組合框在 VB 工具箱面板中的圖標(biāo)如圖1:
圖1
一、組合框控件的主要屬性:
列表框控件的大部分屬性同樣適合于組合框,此外,組合框還有一些自己的一些屬性:
1、Style(類型)屬性
組合框共有三種 Style. :
當(dāng)值為 0 ,組合框是“下拉式組合框”,默認(rèn)設(shè)置(DropDown Combo),與下拉式列表框相似,但不同的是,下拉式組合框可以通過輸入文本的方法在表項(xiàng)中進(jìn)行選擇,可識(shí)別 Dropdown 、Click、Change 事件,用戶既可以從文本框部分輸入文本,也可以單擊右側(cè)的向下箭頭來打開下拉列表框,然后從列表框中選擇一個(gè)列表項(xiàng),如圖2:
圖2
當(dāng)值為 1 ,組合框稱為“簡(jiǎn)單組合框”(Simple Combo),由可以輸入文本的編輯區(qū)與一個(gè)標(biāo)準(zhǔn)列表框組成,列表框一直顯示在頻幕上,而不是下拉式的,當(dāng)列表框的數(shù)目超過可顯示的限度時(shí),將自動(dòng)插入一個(gè)垂直滾動(dòng)條,用戶既可以從文本框部分輸入文本,也可以從列表框中選擇列表項(xiàng),可識(shí)別 Change 、DblClick 事件,如圖3:
圖3
當(dāng)值為 2 ,組合框稱為“下拉式列表框”(Dropdown ListBox),它的右邊有個(gè)箭頭,可供“拉下”或“收起”操作,不允許用戶輸入文本,只能從下拉列表框中選擇列表項(xiàng),下拉列表框與列表框的不同在于:除非用戶單擊右側(cè)的下拉箭頭,否則不顯示列表項(xiàng)。它不能識(shí)別 DblClick 及 Change 事件,但可識(shí)別 Dropdown 、Click 事件,如圖4:
圖4
綜上所述,如果你想讓用戶能夠輸入項(xiàng)目,則應(yīng)將組合框設(shè)置成 0 或 1 ,如果只想讓用戶對(duì)已有項(xiàng)目進(jìn)行選擇,則應(yīng)將組合框設(shè)置成 2 。
2、Text(文本)屬性:
本屬性值返回用戶選擇的文本或直接在編輯區(qū)域輸入的文本,可以在界面設(shè)置時(shí)直接輸入,如圖5:
圖5
但要顯示多個(gè)選項(xiàng),不能簡(jiǎn)單地用 Text 屬性指定,因?yàn)楹笠贿x項(xiàng)會(huì)覆蓋前面的選項(xiàng),這時(shí),常常要用到窗體的載入事件。(Form_Load)
3. list屬性
用戶可以在這里依次輸入 選項(xiàng)內(nèi)容,系統(tǒng)自動(dòng) 排列 listindex,它是一個(gè)數(shù)字,1.2.3 ,第一個(gè)為 list (1) 也就是這個(gè)時(shí)候listindex=1 ,例如輸入 “惠普“,那么 list(1)= “惠普“ 也就是 和combo1.list(combo1.listindex)的 效果一樣,為什么要輸入combo1.listindex,,直接寫listindex 不好么,這樣寫系統(tǒng)才能 知道 是哪個(gè)控件的。listindex, 如果同時(shí)有2個(gè) combo,這時(shí)候不寫就會(huì) 出錯(cuò)。
二、組合框的事件:
根據(jù)組合框的類型,它們所響應(yīng)的事件是不同的。
例如,當(dāng)組合框的 Style. 屬性為 1 時(shí),能接收 DblClick 事件,而其他兩種組合框能夠接收 Click 與 Dropdown 事件;當(dāng) Style. 屬性為 0 或 1 時(shí),文本框可以接收 Change 事件。
例一:
1. 界面設(shè)計(jì)如下
添加一個(gè)標(biāo)簽控件,一個(gè)組合框 控件
在名為 ComboBox的下拉組合框中任意選擇一種機(jī)型,自動(dòng)會(huì)在名為 label1的標(biāo)簽上顯示出來,
2. 程序代碼如下:
Private Sub Form_Load
Combo1.AddItem “惠普”
Combo1.AddItem “聯(lián)想”
Combo1.AddItem “戴爾”
End Sub
下拉式組合框的 Click 事件:
Private Sub Combo1_Click()
Label2.Caption = “你的機(jī)型是:” &
End Sub
程序分析:
組合框的選項(xiàng)都要通過 窗體加載事件添加進(jìn)去,也可以在組合框的list 屬性中 依次輸入選項(xiàng)
組合框的單擊事件 可以實(shí)現(xiàn) 在組合框內(nèi) 選擇一個(gè)選項(xiàng)后 顯示出來。
“.”Listindex就是 代表組合框的某一個(gè)選項(xiàng),是指定項(xiàng)目的索引。 ??語句可以換成 Combo1.List(ListIndex), 當(dāng)同時(shí)有2個(gè)combo 控件時(shí) ,為了分清出? 語句就要 寫成Combo1.List(combo1.ListIndex)
例二:
1.界面設(shè)計(jì)如下:
添加 3個(gè)combo控件, 3個(gè)標(biāo)簽控件,一個(gè)命令按鈕
2.設(shè)置控件屬性:
2. 程序代碼如下:
Private Sub Command1_Click()
Print “ 你的電腦配置還可以”
End Sub
Private Sub Form_Load()
Combo1.AddItem “惠普”
Combo1.AddItem “聯(lián)想”
Combo1.AddItem “戴爾”
Combo2.AddItem “50M”
Combo2.AddItem “150M”
Combo2.AddItem “250M”
Combo3.AddItem “100G”
Combo3.AddItem “150G”
Combo3.AddItem “250G”
End Sub
例三:
添加2個(gè)標(biāo)簽控件,一個(gè)文本框,一個(gè)組合框
設(shè)置屬性: label1的caption 為 “姓名“,label2的caption 為 ”出生年月“,text1 的text 為空,combo1的text 為空
編寫代碼如下:
Private Sub Form_Load()Combo1.AddItem “1980”
Combo1.AddItem “1981”
Combo1.AddItem “1982”
Combo1.AddItem “1983”
Combo1.AddItem “1984”
Combo1.AddItem “1985”
Combo1.AddItem “1986”
Combo1.AddItem “1987”
End Sub
程序分析:
當(dāng)我們?cè)谔顚戀Y料時(shí),有時(shí)候不用輸入,因?yàn)橛泻筮x項(xiàng),這個(gè)程序就實(shí)現(xiàn)了這個(gè)功能