vf表單控件使用詳細(xì)說明_第1頁
vf表單控件使用詳細(xì)說明_第2頁
vf表單控件使用詳細(xì)說明_第3頁
vf表單控件使用詳細(xì)說明_第4頁
vf表單控件使用詳細(xì)說明_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、一、 標(biāo)簽標(biāo)簽?zāi)軌蝻@示多個(gè)字符構(gòu)成的文本,用于設(shè)計(jì)表單上所需的文字性提示信息。標(biāo)簽和大多數(shù)控件的不同點(diǎn)在于運(yùn)行表單時(shí)不能用tab鍵來選擇標(biāo)簽。常用的標(biāo)簽屬性及其作用如下。1、 Caption:確定標(biāo)簽處顯示的文本。2、 Visible:設(shè)置標(biāo)簽可見還是隱藏。3、 AutoSize:確定是否根據(jù)標(biāo)簽上顯示文本的長度,自動(dòng)調(diào)整標(biāo)簽大小。4、 BackStyle:確定標(biāo)簽是否透明。5、 WordWrap:確定標(biāo)簽上顯示的文本能否換行。6、 FontSize:確定標(biāo)簽上顯示文本所采用的字號(hào)。7、 FontName:確定標(biāo)簽上顯示文本所采用的字體。8、 ForeColor:確定標(biāo)簽上顯示的文本顏色。二、

2、 命令按鈕和命令按鈕組在各種窗口或?qū)υ捒蛑袔缀醵家褂靡粋€(gè)或多個(gè)命令按鈕。一旦用戶單擊一個(gè)命令按鈕,就可實(shí)現(xiàn)某種規(guī)定的操作。例如,各種對(duì)話框中的“確定”按鈕,當(dāng)用戶單擊時(shí)將結(jié)束對(duì)話框的操作。VisualForPro中的命令按鈕控件同樣用于完成特定的操作。操作的代碼通常放在命令按鈕的“單擊”事件(即Click Event)代碼中。這樣,運(yùn)行表單時(shí),當(dāng)用戶單擊命令按鈕時(shí)便會(huì)執(zhí)行Click事件代碼。如果在表單運(yùn)行中,某個(gè)命令按鈕獲得了焦點(diǎn)(這時(shí),這個(gè)命令按鈕上會(huì)比其他命令按鈕多一個(gè)線框),則當(dāng)用戶按下Enter鍵或空格鍵時(shí),也會(huì)執(zhí)行這個(gè)命令按鈕的Click時(shí)間代碼。常用的命令按鈕屬性及其作用如下:1

3、、 Caption:設(shè)置在按鈕上顯示的文本。2、 Default:在表單運(yùn)行中,當(dāng)命令按鈕以外的某些控件(如文本框)獲得焦點(diǎn)時(shí),若用戶按下Enter鍵,將執(zhí)行Default屬性值為.T.的那個(gè)命令按鈕的click事件代碼。3、 Cancel:如果設(shè)置該屬性值為.T.,則當(dāng)用戶按下<Esc>鍵時(shí),將執(zhí)行命令按鈕的click事件的代碼。4、 Enabled:指明按鈕是否失效,即是否被選擇。當(dāng)Enabled屬性值為.f.時(shí),用戶無法選擇該按鈕。5、 DisabledPicture:指定按鈕失效時(shí)在按鈕上顯示的.bmp文件。6、 DownPicture:指定在按鈕按下時(shí)按鈕上顯示的.bmp

4、文件。7、 Visible:指明按鈕是否可見。8、 Picture:指明顯示在按鈕上的.bmp文件。命令按鈕組時(shí)一組命令按鈕,是容器對(duì)象。使用命令按鈕組便于對(duì)一組命令按鈕進(jìn)行統(tǒng)一操作和設(shè)置。命令按鈕組的ButtonCount屬性值,決定組中命令按鈕的個(gè)數(shù)。表單運(yùn)行時(shí),當(dāng)用戶單擊組中某個(gè)命令按鈕時(shí),命令按鈕組的Value屬性可以返回所單擊按鈕的序號(hào)。若要單獨(dú)設(shè)置組中的某個(gè)命令按鈕的屬性,可以使用命令按鈕組的快捷菜單中的“編輯”命令選擇某個(gè)按鈕,在“屬性”窗口中設(shè)置其屬性。若為組中某個(gè)按鈕的Click事件寫了代碼,當(dāng)單擊這個(gè)按鈕時(shí),將執(zhí)行該按鈕的Click事件代碼而不是組的Click事件代碼。三、

5、 選項(xiàng)按鈕組選項(xiàng)按鈕組是常用的一種控件,用在各種對(duì)話框中,讓用戶從給定幾個(gè)操作中選擇一個(gè)。例如“文件”菜單中“新建”菜單項(xiàng)打開“新建”對(duì)話框,該對(duì)話框中有一個(gè)標(biāo)題為“文件類型”的選項(xiàng)按鈕組,讓用戶選擇建立哪一種類型的文件。選項(xiàng)按鈕組是包含若干選項(xiàng)按鈕的容器。一個(gè)選項(xiàng)按鈕組中默認(rèn)包含兩個(gè)選項(xiàng)按鈕。改變組的ButtonCount屬性可以設(shè)置選項(xiàng)按鈕數(shù)目。如果設(shè)計(jì)表單時(shí)不設(shè)置value屬性值,即在默認(rèn)情況下,該屬性值是1(默認(rèn)選定第一個(gè)按鈕)。運(yùn)行表單時(shí),value屬性值能夠返回用戶所選定的按鈕的序號(hào)。如果在運(yùn)行表單之前將vaule屬性改變?yōu)槌霭粹o序號(hào)的數(shù)值,則運(yùn)行表單時(shí)只有在用戶做了選擇后,Va

6、lue屬性返回被選中的選項(xiàng)按鈕的標(biāo)題。若把組的ControlSource屬性設(shè)置為某個(gè)表或視圖的一個(gè)字段,在運(yùn)行表單時(shí)就可以將用戶的選擇保存到當(dāng)前記錄該字段中。如果該字段是一個(gè)數(shù)值型字段,則保存選定按鈕的序號(hào)。如果該字段是一個(gè)字符型字段,則當(dāng)用戶做了選擇后,被選中選項(xiàng)按鈕的標(biāo)題將保存到字段中。除了上述屬性之外,選項(xiàng)按鈕組還有以下常用的屬性、事件和方法。1、 Name屬性:選項(xiàng)按鈕組的對(duì)象名。2、 Enabled屬性:當(dāng)該屬性值為.f.時(shí),選項(xiàng)按鈕組不響應(yīng)用戶引發(fā)的事件,即廢止選項(xiàng)按鈕組。3、 DisabledForeColor和DisabledBackColor屬性:指定選項(xiàng)按鈕組被廢止時(shí)的顯

7、示顏色。4、 SetAll方法:設(shè)置組中所有按鈕的屬性。例如,要將表單中名為Myopg的選項(xiàng)按鈕組中所有按鈕設(shè)置為無效(即不可用),可在該組的init事件代碼中使用代碼行:THIS.SetAll(“Enable”,.f.,”O(jiān)ptionButton”)。5、 Button屬性:用于保存組中所有按鈕的一個(gè)數(shù)組。例如,Myopg.Buttons(2)代表名為Myopg的選項(xiàng)按鈕組中的第二個(gè)按鈕。還可以設(shè)置選項(xiàng)按鈕組中的單個(gè)選項(xiàng)按鈕的屬性,方法是從選項(xiàng)按鈕組的快捷菜單中選擇”編輯”命令,用鼠標(biāo)選擇某一個(gè)按鈕,且在”屬性”窗口中設(shè)置它的屬性。單個(gè)選項(xiàng)按鈕的ControlSource屬性不能是一個(gè)字符型

8、字段,否則當(dāng)運(yùn)行表單時(shí)Visual Fox Pro就會(huì)報(bào)告數(shù)據(jù)類型不匹配。如果選項(xiàng)屬性不能是一個(gè)字符型字段,將根據(jù)按鈕是否被選中,在字段中寫入0或1。如果該字段是邏輯型的,則根據(jù)按鈕是否被選中,在字段中寫入.t.或.f.。如果記錄指針在表中移動(dòng),則用當(dāng)前記錄該字段的值自動(dòng)更新選項(xiàng)按鈕的值,設(shè)置某個(gè)選項(xiàng)按鈕的Caption屬性,可以改變?cè)摪粹o的標(biāo)題。設(shè)置選項(xiàng)按鈕組的最簡便的方法是使用按鈕選項(xiàng)組生成器,如下圖,其中有三個(gè)選項(xiàng)卡:1、“按鈕”選項(xiàng)卡用于輸入按鈕的個(gè)數(shù)以及各個(gè)按鈕的標(biāo)題;2、“布局”選項(xiàng)卡用于選擇按鈕排列的格局;3、“值”選項(xiàng)卡用于設(shè)置組的ControlSource屬性。四、 復(fù)選框

9、使用復(fù)選框可讓用戶給出對(duì)某個(gè)問題的回答,答案通常是兩個(gè),即“是”和“否”。 常用的復(fù)選框?qū)傩允荲alue和ControlSource。Value屬性值決定復(fù)選框有三種可能的狀態(tài)。反過來,運(yùn)行表單時(shí)用戶對(duì)復(fù)選框所設(shè)置的狀態(tài)也決定了Value屬性將獲得的值。 1、0或.f.,復(fù)選框呈清除(也稱未選中)狀態(tài)。 2、1或.t.,復(fù)選框呈選中狀態(tài)。 3、2或.Null.,復(fù)選框呈灰色狀態(tài)。當(dāng)復(fù)選框獲得焦點(diǎn)時(shí),只要用戶按<Ctrl>+<0>,就在選框中輸入了.Null.,使復(fù)選框顯示灰色。 可將復(fù)選框的ControlSource屬性設(shè)置為某個(gè)表中的邏輯型或數(shù)值型字段。在運(yùn)行表單時(shí),

10、當(dāng)邏輯型字段的當(dāng)前值是.Null.值、。.t.或.f.時(shí),復(fù)選框?qū)⒎謩e顯示為灰色、被選中或清除狀態(tài);當(dāng)數(shù)值字段的當(dāng)前值為0,1或2(以及.Null.值)時(shí),將分別使復(fù)選框顯示為清除、選中或灰色狀態(tài)。并且,用戶對(duì)復(fù)選框狀態(tài)的改變將修改字段的當(dāng)前值。五、 微調(diào) 微調(diào)常用在給定數(shù)值范圍以及數(shù)值間距的情況下,讓用戶從數(shù)值范圍內(nèi)通過上調(diào)或下調(diào)操作選擇一個(gè)值或間接在微調(diào)框中輸入值。直接在微調(diào)框中輸入的值應(yīng)是一個(gè)數(shù)值。數(shù)值范圍和數(shù)值間距都可以是整數(shù)或小數(shù)。 常用的微調(diào)屬性和事件如下。1、 keyboardhighvalue屬性:指定用戶能輸入到微調(diào)框中的最高值。2、 keyboardlowvalue屬性:指

11、定用戶能輸入到微調(diào)框中的最低值。3、 spinnerhighvalue屬性:指定當(dāng)用戶單擊向上按鈕時(shí)微調(diào)控件顯示的最高值。4、 spinnerlowvalue屬性:指定當(dāng)用戶單擊向下按鈕時(shí)微調(diào)控件顯示的最低值。5、 increment屬性:用戶每次單擊向上或向下按鈕時(shí)增加或減少的值(即數(shù)值間距)。6、 value屬性:返回用戶輸入的值。7、 SelectOnEntry屬性:當(dāng)微調(diào)得到焦點(diǎn)時(shí),是否自動(dòng)選中框中的數(shù)值。8、 UpClick事件:用戶單擊向上按鈕時(shí)響應(yīng)的事件。9、 DownClick事件:用戶單擊向下按鈕時(shí)響應(yīng)的事件。六、 文本框 文本框也是最常用的控件,使用文本框能夠進(jìn)行多種類型數(shù)

12、據(jù)的輸入和輸出。 文本框中的數(shù)據(jù)可以是數(shù)值、字符、日期或邏輯型的。設(shè)計(jì)表單時(shí),對(duì)文本框Value屬性的設(shè)置決定了運(yùn)行表單時(shí)在文本框中顯示的數(shù)據(jù)的值和類型。如果設(shè)計(jì)表單時(shí)未設(shè)置Value屬性值,則運(yùn)行表單時(shí)默認(rèn)輸入的是字符型數(shù)據(jù)。表單上文本框控件的長度限制了輸入到文本框中的字符型數(shù)據(jù)或數(shù)值型數(shù)據(jù)的長度及大小。在文本框中輸入的字符型數(shù)據(jù)或數(shù)值型數(shù)據(jù)的最大長度和大小還受相應(yīng)數(shù)據(jù)類型的限制。運(yùn)行表單時(shí),當(dāng)文本框獲得焦點(diǎn)時(shí)用戶就可修改數(shù)據(jù);當(dāng)移走焦點(diǎn)或按下<enter>鍵就結(jié)束數(shù)據(jù)的輸入,對(duì)文本框數(shù)據(jù)的修改將改變Value屬性值。 文本框的主要應(yīng)用是對(duì)表中非備注字段中的數(shù)據(jù)進(jìn)行顯示和編輯,這

13、需要將文本框的ControlSource屬性設(shè)置成表的某個(gè)字段。運(yùn)行表單時(shí),文本框顯示當(dāng)前記錄的ControlSource屬性所指定的字段的數(shù)據(jù),并將用戶修改后的數(shù)據(jù)保存到字段中,同時(shí)將改變文本框的Value屬性值。 可以控制向文本框中輸入數(shù)據(jù)的格式。如果是字符型數(shù)據(jù),可用InputMark屬性設(shè)置對(duì)輸入字符的限制,例如,將InputMask屬性設(shè)置為999,999.99可限制用戶在輸入時(shí)只能向這個(gè)格式中“9”的位置填充數(shù)字,構(gòu)成輸入字符串。如果是邏輯型數(shù)據(jù),把InputMask屬性設(shè)置為“y”,文本框中就只能接受用戶鍵入的“y”或“n”,而不接受輸入“t”或“f”。對(duì)于日期數(shù)據(jù),可用Cent

14、ury屬性設(shè)置年份的前兩個(gè)數(shù)字是否顯示。 除了上述屬性外,還有以下常用的文本框?qū)傩院褪录?、 Alignment屬性:確定文本框中的內(nèi)容是左對(duì)齊、右對(duì)齊、居中還是自動(dòng)對(duì)齊。自動(dòng)對(duì)齊的具體方式取決于數(shù)據(jù)類型,例如,數(shù)值型數(shù)據(jù)右對(duì)齊,字符型數(shù)據(jù)左對(duì)齊。2、 Maxlenth屬性:用在未設(shè)置InputMask屬性時(shí)決定文本框中字符型數(shù)據(jù)的長度。3、 ReadOnly屬性:該屬性值為.t.時(shí),文本框顯示為灰色,表明不可編輯其中的數(shù)據(jù)。4、 SelectOnEntry屬性:確定當(dāng)文本框得到焦點(diǎn)時(shí)是否自動(dòng)選中文本框中的內(nèi)容。5、 PasswordChar屬性:利用該屬性可在文本框中接收用戶密碼,可以把它

15、設(shè)置為*或其他的一般字符,這樣,在運(yùn)行表單時(shí),文本框的Value和Text屬性可以接受用戶真正輸入的信息,而在屏幕上顯示的卻是PasswordChar所指定的字符。6、 Valid事件:若要檢查用戶輸入文本框中的值,可以編寫Valid事件代碼,利用代碼來檢查數(shù)據(jù)。例如,形成一個(gè)讓用戶只鍵入正數(shù)的文本框,可在文本框的Valid事件代碼中包含如下的代碼:If this.value<=0 =messagebox(“請(qǐng)輸入一個(gè)正數(shù)”,1) &&顯示提示信息,并重新輸入數(shù)據(jù) Return 0 &&結(jié)束事件代碼的執(zhí)行Endif七、 編輯框 使用編輯框可讓用戶備注字段、

16、內(nèi)容較長的字符字段或較長的字符文本。在編輯框中編輯文本時(shí),可以自動(dòng)換行,還能用方向鍵、PageUp和PageDown鍵以及滾動(dòng)條來滾動(dòng)顯示文本。如果要在編輯框中編輯某個(gè)備注字段或字符字段的數(shù)據(jù),應(yīng)將編輯框的ControlSource屬性設(shè)置為該字段。運(yùn)行表單時(shí)編輯框中的編輯結(jié)果將改變Value屬性值,如果設(shè)置了編輯框的ControlSource屬性,編輯結(jié)果還將保存到相應(yīng)的字段中。在編輯框中編輯文本時(shí)按<Enter>鍵,將在編輯框中加入一個(gè)換行符,而不會(huì)執(zhí)行編輯框的Click事件代碼。除ControlSource和value屬性外,常用的編輯框?qū)傩赃€有:(1) SelText-返回

17、編輯框中選定的文本。(2) SelStart-設(shè)定或返回選定文本在編輯框或文本框中的起始位置。(3) SelLength-設(shè)定或返回選定文本的長度。(4) AllowTabs-確定用戶在編輯框中是否能插入<Tab>鍵,如果允許插入<Tab>鍵,用戶可用<Ctrl>+<Tab>鍵移動(dòng)焦點(diǎn)到下一個(gè)控件。(5) ReadOnly-確定用戶是否能修改編輯框中的文本。(6) ScrollBars-確定編輯框有無垂直滾動(dòng)條。八、 表格 表格控件用在表單上添加表格對(duì)象。表格是容器對(duì)象,包含多個(gè)列。每個(gè)表格列也是容器,包含標(biāo)頭和控件。運(yùn)行表單時(shí)表格的顯示形式與V

18、isual FoxPro中表的“瀏覽”窗口類似,可以顯示和編輯行和列中的數(shù)據(jù)。表格及其中的每個(gè)對(duì)象都擁有自己的一組屬性、事件和方法程序,通過設(shè)置它們可以使表格靈活多樣。 表格常用于顯示和編輯表或視圖中的數(shù)據(jù),這需要把表或視圖指定為表格的RecordSource屬性(即表格的數(shù)據(jù)源屬性)。如果沒有指定表格的RecordSource屬性,但在當(dāng)前工作區(qū)中有一個(gè)打開的屬性可以指定表格中顯示數(shù)據(jù)源的類型:表、別名、查詢或用戶根據(jù)提示選定的表。 設(shè)計(jì)表單時(shí),選擇表格對(duì)象的快捷菜單中的“編輯”,可以進(jìn)入編輯表格狀態(tài)。在表格編輯狀態(tài)下,可用鼠標(biāo)調(diào)整表格的行高和列寬。調(diào)整列的寬度的方法是將鼠標(biāo)指針置于表格列的

19、標(biāo)頭之間,這時(shí)指針變?yōu)閹в凶笥覂蓚€(gè)方向箭頭和豎條,然后將列拖動(dòng)到需要的寬度。調(diào)整行高的方法是將鼠標(biāo)指針置于“表格”控件左側(cè)的第一個(gè)按鈕和第二個(gè)按鈕之間,這時(shí)指針將變成帶有向上和向下箭頭的橫條,然后,將行拖到需要的高度。 設(shè)計(jì)時(shí)常用的表格屬性1、ColumnCount:設(shè)置表格的列數(shù)。如果ColumnCount屬性設(shè)置為1(默認(rèn)值),則在運(yùn)行表單時(shí),表格的列數(shù)與RecordSource屬性所指定的表中字段數(shù)相同。最好將ColumnCount屬性設(shè)置為顯示數(shù)據(jù)需要的實(shí)際列數(shù),這樣,在設(shè)計(jì)時(shí)表格顯示如圖所示的形式。此時(shí),才可以在選擇表格快捷菜單中“編輯”菜單項(xiàng)之后,選中某列進(jìn)行列屬性設(shè)置。 2、Al

20、lowAddNew:是否允許在RecordSource屬性所指定的表中追加新記錄。如果將AllowAddNew屬性設(shè)置為真,當(dāng)用戶選中了表中的最后一條記錄,并且按下< >鍵時(shí), 就向表中添加新記錄。 3、Columns:是包含表格列控件的數(shù)據(jù)。 4、AllowRowSizing:把該屬性設(shè)置為.f.,可以防止用戶在運(yùn)行時(shí)改變表格的行高,表格控件還常用于為數(shù)據(jù)庫中已建立一對(duì)多關(guān)系的兩個(gè)表形成一對(duì)多表單,即當(dāng)表單中的文本框顯示父表記錄時(shí),表格中顯示子表的記錄;當(dāng)用戶在父表中瀏覽記錄時(shí),表格中將顯示與父表當(dāng)前記錄相匹配的子表記錄。構(gòu)成一對(duì)多表單的最簡單方法是使用一對(duì)多表單向?qū)А_@樣,向?qū)?/p>

21、能夠自動(dòng)設(shè)置文本框和表格的屬性。 表格的每個(gè)列中默認(rèn)包含的控件是標(biāo)頭(Header)和文本框。標(biāo)頭的Caption屬性決定列的標(biāo)題。文本框能在運(yùn)行表單時(shí)顯示表格的RecordSource屬性所指定的表中某個(gè)字段的數(shù)據(jù)。如果不想設(shè)置表格的RecordSource屬性,可以分別設(shè)置列中文本框的ControlSource屬性。對(duì)列中對(duì)象的屬性設(shè)置要在“屬性”窗口中選擇對(duì)象后方可進(jìn)行。 除在表格列中用文本框顯示字段數(shù)據(jù)外,還可以在列中嵌入別的控件,例如用一個(gè)復(fù)選框顯示和編輯表中一個(gè)邏輯型字段的數(shù)據(jù)。具體的做法是:進(jìn)入表格的編輯狀態(tài);在“表單控件”工具欄中選擇“復(fù)選框”按鈕,用鼠標(biāo)單擊表格中的某列(稱為

22、復(fù)選框的父列)放置復(fù)選框(注意,復(fù)選框在表格列中不會(huì)顯示,但在運(yùn)行表單時(shí)會(huì)顯示出來);將復(fù)選框的Caption屬性設(shè)置為空格;將父列的Sparse屬性設(shè)置為.f.;將父列的CurrentControl屬性設(shè)置為復(fù)選框?qū)ο笕鏑heck1;將復(fù)選框的ControlSource屬性設(shè)置為表中的那個(gè)邏輯字段。如果要在“表單設(shè)計(jì)器”中移去表格列中的控件,可在“屬性”窗口的對(duì)象框中選擇想要移去的控件對(duì)象名,然后按下<Del>鍵。 常用的表格列屬性如下:1、 ControlSource:指明在列中要顯示的數(shù)據(jù),一般是表中的一個(gè)字段。2、 Sparse:若將Sparse屬性設(shè)置為.t.,則運(yùn)行表單

23、時(shí),列中被選中的單元格的數(shù)據(jù)才顯示為控件,列中的其他單元格的數(shù)據(jù)仍以文本形式顯示。3、 CurrentControl:指定列中哪一個(gè)控件是活動(dòng)的,默認(rèn)值為“Text1”。如果在列中添加了一個(gè)控件,就可將它指定為CurrentControl。九、 列表框 使用列表框控件能夠形成一個(gè)可滾動(dòng)的數(shù)據(jù)項(xiàng)列表。該列表可以是包括多行多列(至少是一列)數(shù)據(jù)項(xiàng)的列表,但一列的列表更為常用。多列的列表框有些象表格,但與表格不同,因?yàn)楸砀裰械臄?shù)據(jù)允許進(jìn)行編輯,而列表框中的數(shù)據(jù)項(xiàng)不可編輯、只可選擇。運(yùn)行表單時(shí),在列表的高度范圍內(nèi),能夠看到列表的多個(gè)行,用戶可以使用滾動(dòng)條和鼠標(biāo)選中某一行,通過列表框的Value屬性可以

24、返回用戶所選擇的行。 設(shè)計(jì)表單時(shí)常用的列表框?qū)傩匀缦拢?、 ColumnCount:用于確定列表框的列數(shù)。如果要形成多列列表,應(yīng)設(shè)置該屬性值為列表的列數(shù)。2、 ControlSource:指明用戶在列表中選擇的值將保存在何處??梢栽O(shè)置ControlSource為一個(gè)變量名,則用戶在列表中選擇的值保存在變量中;如果設(shè)置ControlSource為表中的字段,選擇的值將保存在當(dāng)前記錄的字段中。3、 MoverBars:指明是否在列表項(xiàng)左側(cè)顯示移動(dòng)按鈕欄,以便在運(yùn)行表單時(shí)允許用戶重新安排列表中各行的順序。4、 RowSource:指定要在列表中顯示的數(shù)據(jù)項(xiàng)的來源。它應(yīng)與RowSourceType屬性

25、的設(shè)置相一致。5、 RowSourceType:確定RowSource是哪種類型:值、表、SQL語句、查詢、數(shù)組、文件或字段。通過設(shè)置RowSourceType和RowSource屬性,可用不同類型數(shù)據(jù)源中的數(shù)據(jù)項(xiàng)填充列表框。經(jīng)常使用的幾種數(shù)據(jù)源的設(shè)置說明如下。1) 當(dāng)RowSourceType屬性設(shè)置為1時(shí),可用RowSource屬性指定多個(gè)要在列表中顯示的值;方法是在“屬性”窗口中選擇RowSource屬性后,輸入用逗號(hào)分隔的列表項(xiàng),例如one,two,three,four。2) 當(dāng)RowSourceType屬性設(shè)置為6時(shí),可將RowSource屬性設(shè)置為一個(gè)字段(或字段列表,形式為:別名

26、.字段,字段,字段)。這樣執(zhí)行表單時(shí),列表框中將顯示來自字段(或字段列表)的數(shù)據(jù)。3) 當(dāng)RowSourceType屬性設(shè)置為5時(shí),就可以用數(shù)組中的項(xiàng)填充列表,并且要把RowSource屬性設(shè)置為某個(gè)數(shù)組。注意,應(yīng)在表單的init事件中定義數(shù)組并進(jìn)行賦值,或?yàn)楸韱味x和設(shè)置數(shù)組屬性。否則,執(zhí)行表單時(shí)可能發(fā)生數(shù)組找不到的錯(cuò)誤。6、 Value:該屬性可以返回用戶選擇的行。它默認(rèn)為字符型。設(shè)計(jì)表單時(shí),若將Value屬性設(shè)置為空格字符,則運(yùn)行表單時(shí)該屬性返回用戶所選擇的行;若將Value屬性設(shè)置為一個(gè)數(shù)值,則運(yùn)行表單時(shí)該屬性返回用戶所選擇行的行號(hào)。 在代碼中常用的列表框方法程序有:1、 AddIte

27、m:用于在RowSourceType屬性為0的列表中添加一項(xiàng)。2、 RemoveItem:用于從RowSoureType屬性為0的列表中刪除一項(xiàng)。3、 Requery:在RowSoure中的值改變時(shí)更新列表。 使用列表框生成器可以簡便地設(shè)置列表框。十、 組合框 組合框兼有列表框和文本框的功能。有兩種形式的組合框,即下拉組合框和下拉列表框,通過更改組合框的Style屬性可以選擇這兩種形式之一。下拉列表框與前面介紹的列表框相似,都能形成可滾動(dòng)的數(shù)據(jù)項(xiàng)列表,并且設(shè)置方法也相同;兩者不同之處在于:在列表框中任何時(shí)候都能看到多行數(shù)據(jù)項(xiàng),而在下拉列表中只能看到一行,當(dāng)用戶單擊向下按鈕時(shí)才顯示可滾動(dòng)的數(shù)據(jù)項(xiàng)

28、列表。下面重點(diǎn)介紹下拉組合框的使用。 下拉組合框形成的也是下拉列表,但是運(yùn)行表單時(shí)允許在這種下拉列表中擴(kuò)充新的數(shù)據(jù)項(xiàng);即運(yùn)行表單時(shí),用戶不僅可以單擊下拉組合框上的向下按鈕,來查看數(shù)據(jù)項(xiàng)的列表和進(jìn)行選擇,還可以直接在向下按鈕左邊的框中輸入一個(gè)新項(xiàng)。不過,要使輸入的新值真正添加到下拉組合框的列表中,還需要編制一些代碼。例如,在組合框的Valid事件代碼中使用下面的代碼段,將直接輸入的且與下拉組合框中原有值不重復(fù)的一個(gè)新項(xiàng)添加到組合框中(其中假定組合框中原有值是字符型數(shù)據(jù)): S=.f. For i=1 to this.ListCountIf trim(this.ListCount(i)=trim(

29、this.text) S=.t. ExitEndif Endfor If !s This.AddItem(this.text) Endif 常用的組合框?qū)傩浴?、 ControlSource:指定用于保存用戶選擇或輸入值的表字段或變量。2、 DisplayCount:指定在列表中允許顯示的數(shù)據(jù)項(xiàng)的項(xiàng)數(shù)。3、 RowSource:指定組合框中的數(shù)據(jù)項(xiàng)的來源。4、 RowSourceType:指定組合框中數(shù)據(jù)源(即數(shù)據(jù)項(xiàng)的來源)類型。5、 Value:返回用戶選擇的數(shù)據(jù)項(xiàng)。十一、ActiveX控件和ActiveX綁定控件 在Visual FoxPro中,通過使用ActiveX控件可以擴(kuò)展Visua

30、l FoxPro的功能。在表單上添加的ActiveX控件中,可以包含從其他應(yīng)用程序中得來的功能或數(shù)據(jù),例如文本數(shù)據(jù)、聲音數(shù)據(jù)、圖片數(shù)據(jù)或視頻數(shù)據(jù),還可使用創(chuàng)建這些數(shù)據(jù)的源應(yīng)用程序,且以可視的方式查看或操作這些數(shù)據(jù)。ActiveX控件有兩種:ActiveX控件和ActiveX綁定控件。本節(jié)說明ActiveX綁定控件的使用。因?yàn)檫@種控件可以綁定到表的通用型字段上,可以顯示和編輯保存在通用型字段中的OLE對(duì)象。 ActiveX綁定控件的主要屬性有:1、 ControlSoure:用于指定想要綁定的通用字段。2、 Visible:決定對(duì)象是否可見。3、 AutoActivate:當(dāng)OLE對(duì)象獲得了焦點(diǎn)

31、,決定在運(yùn)行表單時(shí)是否允許用戶雙擊該對(duì)象,打開或編輯該對(duì)象。4、 AutoVerbMenu:決定在運(yùn)行表單時(shí)是否允許用戶使用OLE對(duì)象的快捷菜單,打開或編輯OLE對(duì)象。注意:在表單設(shè)計(jì)時(shí),ActiveX綁定控件綁定的通用型字段中的OLE對(duì)象不顯示,并且不能進(jìn)行編輯。十二、線條、形狀和圖像 形狀和線條控件用于在表單上添加線條、方框、圓或橢圓形狀,常用來將表單中的多個(gè)控件歸成組。這既有助于用戶理解和使用界面,又可以美化界面。 常用的線條和形狀屬性有:1、 BackColor:確定對(duì)象的邊框顏色。2、 BorderlStyle:確定對(duì)象的邊框樣式。3、 BorderWidth:確定對(duì)象的邊框?qū)挾取?

32、、 FillStyle:確定形狀對(duì)象的填充樣式。5、 FillColor:確定形狀對(duì)象的填充顏色。6、 Curvature:確定形狀對(duì)象的四個(gè)角的彎曲程度,屬性值范圍是0(直角)到99(圓)。7、 LineSlant:該屬性的有效值為斜杠(/)和反斜杠(),用于決定當(dāng)線條既不水平又不垂直時(shí)線條的傾斜的方向。8、 SpecialEffect:確定形狀是平面的還是三維的,當(dāng)Curvature屬性設(shè)置為0時(shí)才有效。圖像控件用于在表單中添加作為標(biāo)志或起裝飾作用的圖片(.bmp)。圖像控件的主要屬性有:1、 Picture:指明控件的位置處顯示的圖片對(duì)應(yīng)的.bmp文件。2、 BorderStyle:決定

33、圖像是否具有可見的邊框。3、 Stretch:如果Stretch設(shè)置為0剪裁,則超出圖像控件范圍的那一部分圖像將不顯示;如果Stretch設(shè)置為1等比填充,圖像控件將保留圖片的原有比例,并在圖像控件中顯示最大可能顯示的圖片;如果Stretch設(shè)置為2變比填充,則調(diào)整圖片到正好與圖像控件的高度和寬度相匹配。十三、計(jì)時(shí)器 計(jì)時(shí)器控件可以進(jìn)行計(jì)時(shí),可以按某個(gè)時(shí)間間隔周期性的執(zhí)行指定的操作。 計(jì)時(shí)器控件的主要屬性和事件如下所述:1、 Timer事件、即計(jì)時(shí)器事件,是在時(shí)間間隔到時(shí)觸發(fā)的事件。應(yīng)該編寫該事件的代碼、指定完成某個(gè)操作。2、 Interval屬性:用于指定一個(gè)時(shí)間間隔,即一個(gè)計(jì)時(shí)器事件和下一個(gè)計(jì)時(shí)器事件之間的毫秒數(shù),取值范圍是從02,147,483,647。如果計(jì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論