第七章 表單設(shè)計(jì)與應(yīng)用
主講:
7.1面向?qū)ο蟮幕靖拍?-對(duì)象和類
1.對(duì)象
1)對(duì)象
對(duì)象(Object)是反映客觀事物屬性及行為特征的描述。每個(gè)對(duì)象都具有描述它的特征的屬性,及附屬于它的行為。對(duì)象把事物的屬性和行為封裝在一起,是一個(gè)動(dòng)態(tài)的概念。對(duì)象是面向?qū)ο缶幊痰幕驹?,是“類”的具體實(shí)例。
2)對(duì)象的屬性
>窗口的標(biāo)題及窗口的大??; >窗口的前景和背景顏色;
>窗口中所顯示信息的內(nèi)容及格式; >窗口中提供了哪些控件;
>窗口中每個(gè)控件在窗口的位置; >窗口中每個(gè)控件的大?。?br>
>窗口中的控件應(yīng)如何操作。
另外,在Visual FoxPro應(yīng)用程序中,命令按鈕也可以看成對(duì)象,具有以下屬性和行為特征:
>命令按鈕在窗口的位置; >命令按鈕的標(biāo)題及命令按鈕的大??;
>按動(dòng)命令按鈕進(jìn)行什么操作。
2.類
所謂類(Class),就是一組對(duì)象的屬性和行為特征的抽象描述?;蛘哒f,類是具有共同屬性、共同操作性質(zhì)的對(duì)象的集合。
1)基類
基類又可以分成容器類和控件類。
容器類(Containers)可以容納其他對(duì)象,并允許訪問所包含的對(duì)象。
控件類不能容納其他對(duì)象,它沒有容器類靈活。
2)類的特性
類具有繼承性、封裝性和多態(tài)性等特性。
返回
7.1面向?qū)ο蟮幕靖拍?-屬性、事件和方法
1.屬性
屬性(Attribute)是用來描述對(duì)象特征的參數(shù)。
屬性是屬于某一個(gè)類的,不能獨(dú)立于類而存在。派生出的新類將繼承基類和父類的全部屬性。在Visual FoxPro系統(tǒng)中,各種對(duì)象擁有70多個(gè)屬性。對(duì)象的屬性可以在設(shè)計(jì)對(duì)象時(shí)定義,也可以在對(duì)象運(yùn)行時(shí)進(jìn)行設(shè)置。
2.事件
事件(Event)是每個(gè)對(duì)象可能用以識(shí)別和響應(yīng)的某些行為和動(dòng)作。為了使對(duì)象在某一事件發(fā)生時(shí)能夠做出用戶所需要的反映,就必須為這個(gè)事件編寫相應(yīng)的程序代碼來實(shí)現(xiàn)特定的目標(biāo)。為一個(gè)對(duì)象的某個(gè)事件編寫代碼后,應(yīng)用程序運(yùn)行時(shí),一旦該事件發(fā)生,便激活相應(yīng)代碼開始執(zhí)行,如果該事件不發(fā)生,則這段代碼就不會(huì)被執(zhí)行。沒有編寫代碼的事件,即使事件發(fā)生也不會(huì)有任何反映。
在Visual FoxPro系統(tǒng)中,對(duì)象可以響應(yīng)50多種事件。多數(shù)情況下,事件是通過用戶的操作行為引發(fā)的,當(dāng)事件發(fā)生時(shí),將執(zhí)行包含在事件過程中的全部代碼。
3.方法
方法(Method)是附屬于對(duì)象的行為和動(dòng)作,是由Visual FoxPro代碼組成的。可以執(zhí)行某一特定動(dòng)作的特殊的“過程”或“函數(shù)”,方法與事件有相似之處,都可以完成不同任務(wù)。但在不同程序中,同一個(gè)事件必須根據(jù)需要編寫不同的代碼,從而完成不同任務(wù)。而方法通常是Visual FoxPro系統(tǒng)已經(jīng)編寫好的,無論在哪個(gè)程序中,任何時(shí)候調(diào)用都完成統(tǒng)一任務(wù)。當(dāng)然,如果需要,用戶可以自己編寫代碼替換系統(tǒng)提供的方法代碼。
Visual FoxPro提供100多個(gè)內(nèi)部方法供不同對(duì)象調(diào)用。
返回
7.3創(chuàng)建與管理表單--創(chuàng)建表單
4.運(yùn)行表單
?。?)在命令窗口輸入命令:
DO FORM <表單文件名>
返回
7.3創(chuàng)建與管理表單--表單屬性、事件和方法
1.常用的表單屬性
表單屬性大約有100個(gè),但絕大多數(shù)很少用到。
表7-2 常用表單屬性
返回
屬 性 描 述 默 認(rèn) 值
AlwaysOnTop 指定表單是否總是位于其他打開窗口之上 .F.
AutoCenter 指定表單初始化時(shí)是否自動(dòng)在Visual FoxPro主窗口內(nèi)居中顯示 .F.
BackColor 指明表單窗口的顏色 255,255,255
BorderStyle 指定表單邊框的風(fēng)格 3
Caption 指明顯示在表單標(biāo)題欄上的文字 Form1
Closable 指定是否可以通過單擊“關(guān)閉”按鈕或雙擊控制菜單框來關(guān)閉表單 1
DataSession 指定表單里的表是在默認(rèn)的全局能訪問的工作區(qū)打開 1
MaxButton 確定表單是否有最大化按鈕 .T.
MinButton 確定表單是否有最小化按鈕 .T.
Movable 確定表單是否能夠移動(dòng) .T.
Scrollbars 指定表單滾動(dòng)條的類型:0(無)、1(水平)、2(垂直)、3(即水平又垂直) 0
WindowState 指明表單的狀態(tài):0(正常)、1(最小化)、2(最大化) 0
WindowType 指定表單是模式表單還是非模式表單 0
7.3創(chuàng)建與管理表單--表單屬性、事件和方法
2.常用方法
?。?)Release方法:將表單從內(nèi)存中釋放(清除)。比如表單有一個(gè)命令按鈕,如果希望單擊該命令按鈕時(shí)關(guān)閉表單,就可以將該命令按鈕的Click事件代碼設(shè)置為ThisForm.Release。
?。?)Refresh方法:重新繪制表單或控件,并刷新它的所有值。當(dāng)表單被刷新時(shí),表單上的所有控件也都被刷新。當(dāng)頁框被刷新時(shí),只有活動(dòng)頁被刷新。
?。?)Show方法:顯示表單。該方法將表單的Visible屬性設(shè)置為.T.,并使表單成為活動(dòng)對(duì)象。
(4)Hide方法:隱藏表單。該方法將表單的Visible屬性設(shè)置為.F.。
(5)SetFocus方法:讓控件獲得焦點(diǎn),使其成為活動(dòng)對(duì)象。如果一個(gè)控件的Enabled屬性值或Visible屬性值為.F.,將不能獲得焦點(diǎn)。
返回
7.4常用控件 --標(biāo)簽(Label)
標(biāo)簽是用以顯示文本的圖形控件,被顯示的文本在Caption屬性中指定,稱為標(biāo)題文本。標(biāo)簽的標(biāo)題文本不能在屏幕上直接編輯修改,但可以在代碼中通過重新設(shè)置Caption屬性間接修改。標(biāo)簽標(biāo)題文本最多可包含的字符數(shù)目為256。
標(biāo)簽具有自己的一套屬性、方法和事件,能夠響應(yīng)絕大多數(shù)鼠標(biāo)事件。
常用的標(biāo)簽屬性及其作用如下。
(1)Caption屬性:確定標(biāo)簽處顯示的文本。
?。?)Visible屬性:設(shè)置標(biāo)簽可見還是隱藏。
?。?)AutoSize屬性:確定是否根據(jù)標(biāo)簽上顯示文本的長(zhǎng)度,自動(dòng)調(diào)整標(biāo)簽大小,默認(rèn)值為假(.F.)。
?。?)BackStyle屬性:確定標(biāo)簽是否透明,默認(rèn)值為1,即不透明。
?。?)WordWrap屬性:確定標(biāo)簽上顯示的文本能否換行,默認(rèn)值為.F.。
(6)FontSize屬性:確定標(biāo)簽上顯示文本所采用的字號(hào)。
(7)FontName屬性:確定標(biāo)簽上顯示文本所采用的字體。
?。?)FontColor屬性:確定標(biāo)簽上顯示文本的顏色。
(9)Alignment屬性:指定標(biāo)題文本在控件中顯示的對(duì)齊方式。設(shè)置值為0,左對(duì)齊;設(shè)置值為1,右對(duì)齊;設(shè)置值為2,地方對(duì)齊。
返回
7.4常用控件 --命令按鈕控件(Command)
此按鈕用于創(chuàng)建單個(gè)命令按鈕,命令按鈕用來啟動(dòng)某個(gè)事件代碼,完成特定功能。如關(guān)閉表單、移動(dòng)記錄指針、打印報(bào)表等。
常用的命令按鈕屬性及其作用如下。
(1)Caption屬性:用于設(shè)置按鈕的標(biāo)題。在設(shè)置命令按鈕對(duì)象的“Caption”屬性時(shí),輸入“\<”和一個(gè)快捷鍵字符可指定其快捷鍵。在表單上同時(shí)按Alt鍵和快捷字符,可以完成單擊此按鈕的功能。例如,將Command1按鈕的“Caption”屬性設(shè)置為“退出(\<Q)”,在運(yùn)行表單時(shí),既可以通過Alt+Q鍵完成單擊此按鈕的作用。該屬性適用于絕大多數(shù)控件。
?。?)Enabled屬性:指定表單或控件能否響應(yīng)由用戶引發(fā)的事件。默認(rèn)值為.T.,即對(duì)象是有效的,能被選擇,能響應(yīng)用戶引發(fā)的事件。
Enabled屬性使得用戶(程序)可以根據(jù)應(yīng)用的當(dāng)前狀態(tài)隨時(shí)決定一個(gè)對(duì)象是有效的還是無效的,也可以限制一個(gè)對(duì)象的使用,如用一個(gè)無效的編輯框(Enabled=.F.)來顯示只讀信息。該屬性在設(shè)計(jì)和運(yùn)行時(shí)可用,適用于絕大多數(shù)控件。
?。?)Visible屬性:指定對(duì)象是可見還是隱藏。在表單設(shè)計(jì)器中,默認(rèn)值為.T.,即對(duì)象是可見的。在程序代碼中,默認(rèn)值為.F.,即對(duì)象是隱藏的。但一個(gè)對(duì)象即使是隱藏的,在代碼中仍可以訪問它。該屬性在設(shè)計(jì)和運(yùn)行時(shí)可用,適用于絕大多數(shù)控件。
(4)Piction屬性:定義圖形化按鈕的面版圖型。
返回
7.4常用控件 --文本框控件(Text)
文本框也是最常用的控件,使用文本框能夠進(jìn)行多種類型數(shù)據(jù)的輸入和輸出。
文本框的主要應(yīng)用是對(duì)表中非備注字段中的數(shù)據(jù)進(jìn)行顯示和編輯,這需要將文本框的ControlSource屬性設(shè)置成表的某個(gè)字段。運(yùn)行表單時(shí),文本框顯示當(dāng)前記錄的ControlSource屬性所指定的字段的數(shù)據(jù),并將用戶修改后的數(shù)據(jù)保存到字段中,同時(shí)將改變文本框的Value屬性值。
可以控制向文本框中輸入數(shù)據(jù)的格式。如果是字符型數(shù)據(jù),可用InputMask屬性設(shè)置對(duì)輸入字符的限制。如果是邏輯型數(shù)據(jù),把InputMask屬性設(shè)置為“Y”,文本框中只能接受用戶鍵入的“Y”或“N”,而不接受輸入“T”或“F”。對(duì)于日期型數(shù)據(jù),可用 Century屬性設(shè)置年份的前兩個(gè)數(shù)字是否顯示。
常用的文本框?qū)傩院褪录缦隆?br>
?。?)ControlSource屬性:利用該屬性為文本框指定一個(gè)字段或內(nèi)存變量。運(yùn)行時(shí),文本框首先顯示該變量的內(nèi)容。而用戶對(duì)文本框的編輯結(jié)果,也會(huì)最終保存到該變量中。
?。?)Value屬性:返回文本框的當(dāng)前內(nèi)容。對(duì)文本框Value屬性的設(shè)置決定了運(yùn)行表單時(shí),在文本框中顯示的數(shù)據(jù)的值和類型。文本框中的數(shù)據(jù)可以是數(shù)值、字符、日期或邏輯型的。如果設(shè)計(jì)表單時(shí)未設(shè)置Value屬性值,則運(yùn)行表單時(shí)默認(rèn)輸入的是字符型數(shù)據(jù)。表單上文本框控件的長(zhǎng)度限制了輸入到文本框中的字符型數(shù)據(jù)或數(shù)值型數(shù)據(jù)的長(zhǎng)度及大小。在文本框中輸入的字符型數(shù)據(jù)或數(shù)值型數(shù)據(jù)的最大長(zhǎng)度和大小還受相應(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屬性值。該屬性的默認(rèn)值是空串,如果ControlSource屬性指定了字段或內(nèi)存變量,則該屬性將與Controlsource屬性指定的變量具有相同的數(shù)據(jù)和類型。
?。?)PasswordChar屬性:利用該屬性可在文本框中接收用戶密碼,可以把它設(shè)置為“*”或其他的一般字符。這樣在運(yùn)行表單時(shí),文本框的Value和Text屬性可以接收用戶真正輸入的信息,而在屏幕上顯示的卻是PasswordChar所指定的字符。這在設(shè)計(jì)登錄口令框時(shí)經(jīng)常用到。
?。?)Readonly屬性:該屬性為.T.時(shí),文本框顯示為灰色,表明不可編輯其中的數(shù)據(jù)。
?。?)InPutMask屬性:指定在一個(gè)文本框中如何輸入和顯示數(shù)據(jù)。
?。?)Valid事件:若要檢查用戶輸入文本框的值,可以編寫Valid事件代碼,利用代碼來檢查數(shù)據(jù)。
返回
7.4常用控件 --編輯框控件(Edit)
編輯框?qū)嶋H上是一個(gè)完整的字處理器,利用它能夠選擇、剪切、粘貼及復(fù)制正文;可以實(shí)現(xiàn)自動(dòng)換行,能夠有自己的垂直滾動(dòng)條,可以用箭頭鍵在正文里面移動(dòng)光標(biāo)。
編輯框只能輸入、編輯字符型數(shù)據(jù),包括字符型內(nèi)存變量、數(shù)組元素和字段里的內(nèi)容。
前面介紹的有關(guān)文本框的有關(guān)屬性(不包括PassWordChar、InputMask屬性)對(duì)編輯框同樣適用。除了上述以外,編輯框常用屬性還有以下幾種。
?。?)ControlSource屬性:用于指定編輯框的數(shù)據(jù)來源,在編輯框中的輸入或修改的結(jié)果將存放在指定的數(shù)據(jù)源。
(2)Readonly屬性:設(shè)置用戶能否修改編輯框的文本。值為.T.時(shí),不能編輯編輯框中的內(nèi)容;值為.F.時(shí),允許編輯編輯框的內(nèi)容,系統(tǒng)默認(rèn)值為.F. 。
?。?)ScrollBars屬性:指定編輯框是否具有滾動(dòng)條。當(dāng)屬性值為0時(shí),編輯框沒有滾動(dòng)條;當(dāng)屬性值為2(默認(rèn)值)時(shí),編輯框包含垂直滾動(dòng)條。
返回
7.4常用控件 --復(fù)選框控件(Check)
此控件用于創(chuàng)建一個(gè)復(fù)選框,每個(gè)復(fù)選框都有兩個(gè)狀態(tài),如.T.或.F.。當(dāng)處于.T.狀態(tài)時(shí),即選中此復(fù)選框,則在復(fù)選框前面的方框中顯示一個(gè)“√”;否則,復(fù)選框內(nèi)為空白。
(1)Caption屬性:用來指定顯示在復(fù)選框旁邊的文字。
(2)Value屬性:用來指明復(fù)選框的當(dāng)前狀態(tài),Value屬性的設(shè)置有3種情況。
?、?0或.F.,復(fù)選框呈清除(也稱為未選中)狀態(tài)。
② l或.T.,復(fù)選框呈選中狀態(tài)。
?、?2或.Null.,復(fù)選框呈灰色狀態(tài)。當(dāng)復(fù)選框獲得焦點(diǎn)時(shí),只要用戶按<Ctrl>+<0>,就在復(fù)選框中輸入.NULL.,使復(fù)選框顯示灰色。
?。?)ControlSource屬性:指明與復(fù)選框建立聯(lián)系的數(shù)據(jù)源。
返回
7.4常用控件 --選項(xiàng)組控件(OptionGroup)
選項(xiàng)組又稱為選項(xiàng)按鈕組,是包含選項(xiàng)按鈕的一種容器。一個(gè)選項(xiàng)組中往往包含若干個(gè)選項(xiàng)按鈕,但用戶只能從中選擇一個(gè)按鈕,當(dāng)用戶選擇某個(gè)選項(xiàng)按鈕時(shí),該按鈕即成為被選中狀態(tài),而選項(xiàng)組中的其他選項(xiàng)按鈕,不管原來是什么狀態(tài),都變?yōu)槲催x中狀態(tài)。被選中的選項(xiàng)按鈕中會(huì)顯示一個(gè)圓點(diǎn)。
?。?)ButtonCount屬性:指定選項(xiàng)組中選項(xiàng)按鈕的數(shù)目。在表單中創(chuàng)建一個(gè)選項(xiàng)組時(shí),ButtonCount屬性的默認(rèn)值是2??梢酝ㄟ^改變ButtonCount屬性的值來重新設(shè)置選項(xiàng)組中包含的選項(xiàng)按鈕數(shù)目。
(2)Value屬性:用于指定選項(xiàng)組中哪個(gè)選項(xiàng)按鈕被選中。該屬性值的類型可以是數(shù)值型的,也可以是字符型的。
?。?)ControlSource屬性:指明與選項(xiàng)組建立聯(lián)系的數(shù)據(jù)源。作為選項(xiàng)組數(shù)據(jù)源的字段變量或內(nèi)存變量,其類型可以是數(shù)值型或字符型。比如,變量值為數(shù)值型2,則選項(xiàng)組中第2個(gè)按鈕被選中;若變量值為字符型“Option2”,則Caption屬性值為“Option2”的按鈕被選中。用戶對(duì)選項(xiàng)組的操作結(jié)果會(huì)自動(dòng)存儲(chǔ)到數(shù)據(jù)源變量及Value屬性中。
設(shè)置選項(xiàng)按鈕組的最簡(jiǎn)便方法是使用選項(xiàng)按鈕組生成器,如圖7-26所示。其中有3個(gè)選項(xiàng)卡:①“按鈕”選項(xiàng)卡用于輸入按鈕的個(gè)數(shù)及各個(gè)按鈕的標(biāo)題;②“布局”選項(xiàng)卡用于選擇按鈕排列的格局;③“值”選項(xiàng)卡用于設(shè)置選項(xiàng)組的ControlSource屬性。
返回
7.4常用控件 --計(jì)時(shí)器控件(Timer)
計(jì)時(shí)器控件可以進(jìn)行計(jì)時(shí),可以按某個(gè)時(shí)間間隔周期性地執(zhí)行指定的操作。計(jì)時(shí)器控件的主要屬性和事件如下。
?。?)Timer事件:即計(jì)時(shí)器事件,是在時(shí)間間隔到時(shí)觸發(fā)的事件。應(yīng)該編寫該事件的代碼,指定完成某個(gè)操作。
(2)Interval屬性:用于指定一個(gè)時(shí)間間隔,即一個(gè)計(jì)時(shí)器事件和下一個(gè)計(jì)時(shí)器事件之間的毫秒數(shù)。如果計(jì)時(shí)器有效,將以近似相等的時(shí)間間隔觸發(fā)計(jì)時(shí)器事件。
?。?)Enabled屬性:若將該屬性設(shè)置為.T.,計(jì)時(shí)器就能在表單開始運(yùn)行時(shí)啟動(dòng)計(jì)時(shí)工作。如果設(shè)置Enabled屬性為.F.,就會(huì)掛起計(jì)時(shí)器的運(yùn)行;這種情況下,可以使用表單上別的控件的某個(gè)事件(如命令按鈕的Click事件)啟動(dòng)計(jì)時(shí)器的工作。
計(jì)時(shí)器控件的一個(gè)特點(diǎn)是:在設(shè)計(jì)時(shí),計(jì)時(shí)器在表單中是可見的,便于設(shè)計(jì)者查看和設(shè)置計(jì)時(shí)器屬性和編寫事件代碼;在運(yùn)行時(shí),計(jì)時(shí)器不可見。計(jì)時(shí)器控件在表單上的位置和大小都無關(guān)緊要。
返回
7.4常用控件 --微調(diào)控件(Spinner)
微調(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)屬性和事件如下。
?。?)KeyboardHighValue屬性:指定用戶能輸入到微調(diào)框中的最高值。
(2)KeyboardLowValbe屬性:指定用戶能輸入到微調(diào)框中的最低值。
?。?)SpinnerHighValue屬性:指定當(dāng)用戶單擊向上按鈕時(shí)微調(diào)控件顯示的最高值。
?。?)SpinnerLowValue屬性:指定當(dāng)用戶單擊向下按鈕時(shí)微調(diào)控件顯示的最低值。
?。?)Increment屬性:用戶每次單擊向上或向下按鈕時(shí)增加或減少的值(數(shù)值間距)。
?。?)Value屬性:返回用戶輸入的值。
?。?)UpClick事件:用戶單擊向上按鈕時(shí)響應(yīng)的事件。
?。?)DownClick事件:用戶單擊向下按鈕時(shí)響應(yīng)的事件。
返回
7.4常用控件 --列表框控件(List)
列表框提供一組條目(數(shù)據(jù)項(xiàng)),用戶可以從中選擇一個(gè)或多個(gè)條目。一般情況下,列表框顯示其中的若干條目,用戶可以通過滾動(dòng)條瀏覽其他條目。
常用的屬性如下。
(1)RowSource 屬性:指定列表框的條目數(shù)據(jù)源。
(2)RowSourceType屬性:指明列表框中條目數(shù)據(jù)源的類型。
?。?)ColumnCount屬性:用于確定列表框的列數(shù)。若要形成多列列表,應(yīng)該設(shè)置該屬性值為列表的列數(shù)。
?。?)ListCount屬性:指明列表框中數(shù)據(jù)條目的數(shù)目。
?。?)ControlSource屬性:用戶可以通過該屬性指定一個(gè)字段或變量,用以保存用戶從列表框中選擇的結(jié)果。
也可以使用其生成器進(jìn)行設(shè)置,如圖所示。
返回
7.4常用控件 --組合框控件(Combo)
組合框兼有列表框和文本框的功能。有兩種形式的組合框,即下拉組合框和下拉列表框,通過更改組合框的Style屬性來選擇兩者形式之一。
下拉列表框與前面介紹的列表框相似,都能形成可滾動(dòng)的數(shù)據(jù)項(xiàng)列表,并且設(shè)置方法也相同;兩者不同之處在于,在列表框中任何時(shí)候都能看到多行數(shù)據(jù)項(xiàng),而在下拉列表中只能看到一行。
下拉組合框形成的也是下拉列表,但是運(yùn)行表單時(shí)允許在這種下拉列表中擴(kuò)充新的數(shù)據(jù)項(xiàng),即運(yùn)行表單時(shí),用戶不僅可以單擊下拉組合框上的向下按鈕來查看數(shù)據(jù)項(xiàng)的列表和進(jìn)行選擇,還可直接在向下按鈕左邊的框中輸入一個(gè)新項(xiàng)。
常用的屬性如下。
?。?)ControlSource屬性:指定用戶保存選擇或輸入值的表字段或變量。
?。?)Colunmlines屬性:指定在下拉列表框中是否顯示分隔線,默認(rèn)值為.T.,在下拉列表框中顯示分隔線;如果為.F.,則不顯示分隔線。
?。?)RowSourceType屬性:指定組合框中數(shù)據(jù)源類型。
(4)RowSource 屬性:指定組合框中數(shù)據(jù)源的來源。
返回
7.4常用控件 --表格控件(Grid)
表格控件用在表單上添加表格對(duì)象。表格是容器對(duì)象,包含多個(gè)列,每個(gè)表格列也是容器,包含標(biāo)頭和控件。運(yùn)行表單時(shí),表格的顯示形式與表的“瀏覽”窗口類似,可以顯示和編輯行和列中的數(shù)據(jù)。表格及其中的每個(gè)對(duì)象都擁有自己的一組屬性、事件和方法程序,通過設(shè)置它們可以使得表格靈活多樣。
表格常用于顯示和編輯表或視圖中的數(shù)據(jù),這需要把表或視圖指定為表格的RecordSource屬性(即表格的數(shù)據(jù)源屬性)。如果沒有指定表格的RecordSource屬性,在當(dāng)前工作區(qū)中有一個(gè)打開的表時(shí),那么執(zhí)行表單時(shí)將在表格中顯示這個(gè)表的所有字段。設(shè)置表格的RecordSourceType(數(shù)據(jù)源類型)屬性,可以指定表格中顯示數(shù)據(jù)源的類型:表、別名、查詢或用戶根據(jù)提示選定的表。
設(shè)計(jì)時(shí)常用的表格屬性如下。
?。?)ColumnCount屬性:設(shè)置表格的列數(shù)。如果ColumnCount屬性設(shè)置為1(默認(rèn)值),則在運(yùn)行表單時(shí),表格的列數(shù)與RecordSource屬性所指定的表中字段數(shù)目相同。
(2)AllowAddNew屬性:是否允許在RecordSource屬性所指定的表中追加新記錄。如果將AllowAddNew屬性設(shè)置為真,當(dāng)用戶選中了表中最后一條記錄,并且按下“↓”鍵時(shí),就向表中添加新記錄。
表格的每個(gè)列中默認(rèn)包含的控件是標(biāo)頭(Header)和文本框。標(biāo)頭的Caption 屬性決定列的標(biāo)題。文本框能在運(yùn)行表單時(shí)顯示表格的RecordSource屬性所指定的表中某個(gè)字段的數(shù)據(jù)。除在表格列中用文本框顯示字段數(shù)據(jù)外,還可以在列中嵌入別的控件。
返回
7.4常用控件 --表格控件(Grid)
常用的表格列屬性如下。
?。?)ControlSource屬性:指明在列中要顯示的數(shù)據(jù),一般是表中的一個(gè)字段。
(2)Sparse屬性:若將Sparse屬性設(shè)置為.T.,則運(yùn)行表單時(shí),列中被選中的單元格的數(shù)據(jù)才顯示為控件,列中的其他單元格的數(shù)據(jù)仍以文本形式顯示。
?。?)CurrentControl屬性:指定列中哪一個(gè)控件是活動(dòng)的,默認(rèn)值為“Text1”。
常用的列標(biāo)頭屬性如下。
(1)Caption屬性:指定標(biāo)頭的標(biāo)題文本,顯示在列頂部。
?。?)Alignment屬性:指定標(biāo)題文本在對(duì)象中顯示對(duì)齊方式。
表格設(shè)計(jì)也可以調(diào)用表格生成器來進(jìn)行。通過表格生成器,能夠交互式地快速設(shè)置表格的有關(guān)屬性,創(chuàng)建所需要的表格。
使用表格生成器生成表格的步驟是;先通過“表單控件”工具欄在表單上放置一個(gè)表格,接著右擊表格,并在彈出的快捷菜單中選擇“生成器”命令,打開“表格生成器”對(duì)話框,然后在對(duì)話框內(nèi)設(shè)置有關(guān)選項(xiàng)參數(shù),當(dāng)設(shè)置完后單擊“確定”按鈕,關(guān)閉對(duì)話框,系統(tǒng)就會(huì)根據(jù)指定的選項(xiàng)參數(shù)設(shè)置表格的屬性。
“表格生成器”對(duì)話框包括4個(gè)選項(xiàng)卡,其作用大致如下。
?。?)“表格項(xiàng)”選項(xiàng)卡:指明要在表格內(nèi)顯示的字段。
?。?)“樣式”選項(xiàng)卡:指定表格的樣式,如標(biāo)準(zhǔn)型、專業(yè)型、賬務(wù)型等。
(3)“布局”選項(xiàng)卡:指明各列的標(biāo)題和控件類型,調(diào)整各列列寬。
?。?)“關(guān)系”選項(xiàng)卡:設(shè)置一個(gè)一對(duì)多關(guān)系,指明父表中的關(guān)鍵字段與子表中的相關(guān)索引。
返回
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。