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