其它控件介紹表單管理 多表單應(yīng)用程序 類 建立工具欄_第1頁(yè)
其它控件介紹表單管理 多表單應(yīng)用程序 類 建立工具欄_第2頁(yè)
其它控件介紹表單管理 多表單應(yīng)用程序 類 建立工具欄_第3頁(yè)
其它控件介紹表單管理 多表單應(yīng)用程序 類 建立工具欄_第4頁(yè)
其它控件介紹表單管理 多表單應(yīng)用程序 類 建立工具欄_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1其它控件介紹其它控件介紹表單管理表單管理 多表單應(yīng)用程序多表單應(yīng)用程序 類類 建立工具欄建立工具欄 2表單設(shè)計(jì)的基本步驟為:表單設(shè)計(jì)的基本步驟為: 打開(kāi)表單設(shè)計(jì)器打開(kāi)表單設(shè)計(jì)器向表單添加控件向表單添加控件設(shè)置表單及控件的屬性設(shè)置表單及控件的屬性添加表單及控件的事件代碼添加表單及控件的事件代碼保存表單保存表單運(yùn)行及調(diào)試表單。運(yùn)行及調(diào)試表單。3其它控件介紹其它控件介紹 控件的通用屬性控件的通用屬性 命令按鈕組控件命令按鈕組控件 編輯框編輯框 復(fù)選框和單選框復(fù)選框和單選框 列表框和組合框列表框和組合框 微調(diào)控件微調(diào)控件 表格和頁(yè)框表格和頁(yè)框 超級(jí)連接超級(jí)連接 ActiveX控件和控件和Active

2、X綁定控件綁定控件 4控件的通用屬性控件的通用屬性 Enabled屬性屬性 Visible屬性屬性 以以Font打頭的一組屬性打頭的一組屬性 為多個(gè)對(duì)象設(shè)置共同屬性為多個(gè)對(duì)象設(shè)置共同屬性 這一屬性是除這一屬性是除“超級(jí)連接超級(jí)連接”和和“計(jì)時(shí)器計(jì)時(shí)器”之外的之外的所有運(yùn)行時(shí)可見(jiàn)的控件及表單都有的屬性,其值所有運(yùn)行時(shí)可見(jiàn)的控件及表單都有的屬性,其值可設(shè)置為:可設(shè)置為:.T.-真或真或.F.-假,指定運(yùn)行時(shí)對(duì)象是可假,指定運(yùn)行時(shí)對(duì)象是可見(jiàn)還是隱藏。見(jiàn)還是隱藏。 FontSize:定義字的大?。唬憾x字的大??;FontName:定義文本的字體;:定義文本的字體;FontColor:定義字的顏色;:定

3、義字的顏色;Fontbold:定義文字是否粗體;:定義文字是否粗體;FontItalic:定義文字是否斜體;:定義文字是否斜體;這組屬性是許多可有文字的對(duì)象都有的屬性,如:表這組屬性是許多可有文字的對(duì)象都有的屬性,如:表單、標(biāo)簽控件、命令按鈕控件、文本框控件、表格控單、標(biāo)簽控件、命令按鈕控件、文本框控件、表格控件、列表框控件等等。件、列表框控件等等。 按住按住Shift健分別單擊若干對(duì)象,用來(lái)選取需設(shè)置健分別單擊若干對(duì)象,用來(lái)選取需設(shè)置屬性的對(duì)象,屬性窗口的對(duì)象組合框中將會(huì)顯示屬性的對(duì)象,屬性窗口的對(duì)象組合框中將會(huì)顯示“多重選定多重選定”文本,此時(shí)便可在屬性窗口為這些文本,此時(shí)便可在屬性窗口為

4、這些對(duì)象設(shè)置共同屬性,例如:設(shè)置對(duì)象設(shè)置共同屬性,例如:設(shè)置FontSize屬性改屬性改變文字大小。變文字大小。 5命令按鈕組控件命令按鈕組控件 命令按鈕組控件是一個(gè)容器控件,它可包含若干命令按鈕組控件是一個(gè)容器控件,它可包含若干個(gè)命令按鈕,并能統(tǒng)一管理這些命令按鈕,命令個(gè)命令按鈕,并能統(tǒng)一管理這些命令按鈕,命令按鈕組與組內(nèi)的各命令按鈕都有自己的屬性,事按鈕組與組內(nèi)的各命令按鈕都有自己的屬性,事件和方法程序,因而既可單獨(dú)操作各命令按鈕,件和方法程序,因而既可單獨(dú)操作各命令按鈕,也可對(duì)組控件進(jìn)行操作。也可對(duì)組控件進(jìn)行操作。命令按鈕組的生成器命令按鈕組的生成器 命令按鈕組及其命令按鈕的操作命令按鈕

5、組及其命令按鈕的操作 按鈕選項(xiàng)卡按鈕選項(xiàng)卡(1)微調(diào)控件:指定命令按鈕組中的按鈕數(shù),對(duì)應(yīng)微調(diào)控件:指定命令按鈕組中的按鈕數(shù),對(duì)應(yīng)于命令按鈕組的于命令按鈕組的ButtonCount屬性屬性(2)表格:包含標(biāo)題和圖形兩列。表格:包含標(biāo)題和圖形兩列。標(biāo)題列對(duì)應(yīng)于命令按鈕的標(biāo)題列對(duì)應(yīng)于命令按鈕的Caption屬性,命令按鈕可屬性,命令按鈕可以具有標(biāo)題或圖象,或兩者都有。圖形列對(duì)應(yīng)于命令以具有標(biāo)題或圖象,或兩者都有。圖形列對(duì)應(yīng)于命令按鈕的按鈕的Picture屬性。屬性。命令按鈕會(huì)自動(dòng)調(diào)整大小,以容納新的標(biāo)題和圖片,命令按鈕會(huì)自動(dòng)調(diào)整大小,以容納新的標(biāo)題和圖片,組容器也會(huì)自動(dòng)調(diào)整大小。組容器也會(huì)自動(dòng)調(diào)整大

6、小。布局選項(xiàng)卡布局選項(xiàng)卡(1)按鈕布局:指定命令按鈕組內(nèi)的按鈕按豎直方按鈕布局:指定命令按鈕組內(nèi)的按鈕按豎直方向或水平方向排列。向或水平方向排列。(2)按鈕間隔:指定按鈕之間的間隔。按鈕間隔:指定按鈕之間的間隔。上述兩項(xiàng)將影響命令按鈕組的上述兩項(xiàng)將影響命令按鈕組的Height和和Width屬性。屬性。(3)邊框樣式:指定命令按鈕組有單線邊欄或無(wú)邊邊框樣式:指定命令按鈕組有單線邊欄或無(wú)邊框???。 Click事件的判別事件的判別容器中對(duì)象的引用容器中對(duì)象的引用容器及其對(duì)象的編輯容器及其對(duì)象的編輯 常用命令按鈕組的屬性有:常用命令按鈕組的屬性有:ButtonCount:設(shè)置組中命令按鈕的數(shù)目。:設(shè)置

7、組中命令按鈕的數(shù)目。BackStyle:設(shè)置命令按鈕的背景是否透明。:設(shè)置命令按鈕的背景是否透明。BorderStyle:定義命令按鈕組的邊框。:定義命令按鈕組的邊框。 (2)單擊某命令按鈕時(shí),組控件的單擊某命令按鈕時(shí),組控件的Value屬性就會(huì)獲得一個(gè)數(shù)屬性就會(huì)獲得一個(gè)數(shù)值或字符串:當(dāng)值或字符串:當(dāng)Value屬性為屬性為1(默認(rèn)值默認(rèn)值)時(shí),將獲得命令按時(shí),將獲得命令按鈕的順序號(hào),它是一個(gè)數(shù)值;而當(dāng)鈕的順序號(hào),它是一個(gè)數(shù)值;而當(dāng)Value屬性設(shè)置為空時(shí),屬性設(shè)置為空時(shí),將獲得命令按鈕的將獲得命令按鈕的Caption值,它是字符串。于是在命令值,它是字符串。于是在命令按鈕組的按鈕組的Click

8、事件代碼中便可判別出單擊的是哪個(gè)命令事件代碼中便可判別出單擊的是哪個(gè)命令按鈕,并決定執(zhí)行的動(dòng)作。按鈕,并決定執(zhí)行的動(dòng)作。(1)若命令按鈕組及其所含的各命令按鈕分別設(shè)置了若命令按鈕組及其所含的各命令按鈕分別設(shè)置了Click事事件代碼,件代碼,Visual FoxPro將以命令按鈕的將以命令按鈕的Click事件代碼優(yōu)事件代碼優(yōu)先。先。或或This.Commandl。 (1)容器本身的編輯:設(shè)計(jì)時(shí)若在表單上選定容器,就可編容器本身的編輯:設(shè)計(jì)時(shí)若在表單上選定容器,就可編輯該容器的屬性、事件代碼與方法程序,但不能編輯容器輯該容器的屬性、事件代碼與方法程序,但不能編輯容器中的對(duì)象。中的對(duì)象。 (2)容器

9、中對(duì)象的編輯:要編輯容器中的對(duì)象,須先激活容容器中對(duì)象的編輯:要編輯容器中的對(duì)象,須先激活容器。激活的方法是選定容器的快捷菜單中的【編輯】命令,器。激活的方法是選定容器的快捷菜單中的【編輯】命令,容器被激活的標(biāo)志是其四周顯示一個(gè)斜線邊框,容器被激活的標(biāo)志是其四周顯示一個(gè)斜線邊框,如圖所示如圖所示。容器激活后,用戶便可選定其中的對(duì)象進(jìn)行編輯。容器激活后,用戶便可選定其中的對(duì)象進(jìn)行編輯。6操作步驟如下:操作步驟如下:計(jì)算器的按鈕部分用命令按鈕組控件進(jìn)行設(shè)計(jì)。向表單計(jì)算器的按鈕部分用命令按鈕組控件進(jìn)行設(shè)計(jì)。向表單添加一個(gè)命令按鈕組控件,在命令按鈕組控件上單擊右添加一個(gè)命令按鈕組控件,在命令按鈕組控件

10、上單擊右鍵,選擇【生成器】,在按鈕選項(xiàng)卡中設(shè)置按鈕數(shù)目為鍵,選擇【生成器】,在按鈕選項(xiàng)卡中設(shè)置按鈕數(shù)目為16,并設(shè)置標(biāo)題,并設(shè)置標(biāo)題 。然后在。然后在“布局布局”頁(yè)面中設(shè)置頁(yè)面中設(shè)置“按鈕布局按鈕布局”為:水平。單擊【確定】按鈕,關(guān)閉生成為:水平。單擊【確定】按鈕,關(guān)閉生成器。設(shè)置命令按鈕組控件的器。設(shè)置命令按鈕組控件的Height屬性值為屬性值為140,在命令,在命令按鈕組控件上單擊右鍵,選擇【編輯】,移動(dòng)命令按鈕,按鈕組控件上單擊右鍵,選擇【編輯】,移動(dòng)命令按鈕,將所有命令按鈕的將所有命令按鈕的height和和Widdth均設(shè)置為:均設(shè)置為:25,設(shè)置,設(shè)置成成 的狀態(tài)。其它部分外觀的設(shè)計(jì)

11、同的狀態(tài)。其它部分外觀的設(shè)計(jì)同例例6-10,可以從可以從例例6-10的表單中復(fù)制過(guò)來(lái)。的表單中復(fù)制過(guò)來(lái)。 例例5-1 用命令按鈕組設(shè)計(jì)計(jì)算器。用命令按鈕組設(shè)計(jì)計(jì)算器。 設(shè)置命令按鈕組控件設(shè)置命令按鈕組控件Commandgroup1的的Value屬性值為:屬性值為:=“”這一步驟非常重要,如沒(méi)有這一步,計(jì)算器的設(shè)置要這一步驟非常重要,如沒(méi)有這一步,計(jì)算器的設(shè)置要復(fù)雜得多。復(fù)雜得多。在命令按鈕組控件在命令按鈕組控件Commandgroup1的的Click事件添加下事件添加下列代碼:列代碼:ENDIFIF This.Value= &如果單擊了如果單擊了“=”按鈕按鈕ELSE &如果單

12、擊了除如果單擊了除“=”以外的按鈕以外的按鈕Thisform.t=.F.ENDIF如圖所示如圖所示如圖所示如圖所示7編輯框編輯框 在編輯框中可以編輯長(zhǎng)字符字段或備注字段中的在編輯框中可以編輯長(zhǎng)字符字段或備注字段中的文本。編輯框中允許輸入多段文本,也可以使用文本。編輯框中允許輸入多段文本,也可以使用方向鍵、方向鍵、PageUp鍵、鍵、PageDown鍵、滾動(dòng)條來(lái)鍵、滾動(dòng)條來(lái)移動(dòng)文本。編輯框只能處理字符型數(shù)據(jù)。移動(dòng)文本。編輯框只能處理字符型數(shù)據(jù)。 編輯框的常用屬性有:編輯框的常用屬性有: AllowTabs:設(shè)置用戶是否可以在編輯框中用:設(shè)置用戶是否可以在編輯框中用Tab 鍵前后移動(dòng)。如果允許,應(yīng)

13、明確地指出用戶鍵前后移動(dòng)。如果允許,應(yīng)明確地指出用戶可以通過(guò)按可以通過(guò)按Ctrl+Tab移到下一個(gè)控件。移到下一個(gè)控件。ControlSource:設(shè)置將哪一個(gè)數(shù)據(jù)庫(kù)的表的那:設(shè)置將哪一個(gè)數(shù)據(jù)庫(kù)的表的那個(gè)字段的值顯示在編輯框中。個(gè)字段的值顯示在編輯框中。HideSelection:當(dāng)編輯框沒(méi)有焦點(diǎn)時(shí)選定文本:當(dāng)編輯框沒(méi)有焦點(diǎn)時(shí)選定文本是否以選定狀態(tài)顯示。是否以選定狀態(tài)顯示。 ReadOnly:設(shè)置用戶是否可以改變編輯框的文:設(shè)置用戶是否可以改變編輯框的文本。本。 ScrollBars:設(shè)置是否顯示垂直滾動(dòng)條。:設(shè)置是否顯示垂直滾動(dòng)條。 SelLength:返回用戶在控制的文本區(qū)域中選定:返回用

14、戶在控制的文本區(qū)域中選定的字符數(shù)目,或指定要選定的字符數(shù)目。的字符數(shù)目,或指定要選定的字符數(shù)目。SelStart:返回控件的文本輸入?yún)^(qū)域中用戶選擇:返回控件的文本輸入?yún)^(qū)域中用戶選擇文本的起始點(diǎn)。當(dāng)沒(méi)有選定文本時(shí),指示插入點(diǎn)文本的起始點(diǎn)。當(dāng)沒(méi)有選定文本時(shí),指示插入點(diǎn)的位置。另外,它還可以指定控件的文本輸入?yún)^(qū)的位置。另外,它還可以指定控件的文本輸入?yún)^(qū)域中選擇的文本起始點(diǎn)。域中選擇的文本起始點(diǎn)。 SelText:返回用戶選定的文本,如果沒(méi)有選定:返回用戶選定的文本,如果沒(méi)有選定任何文本,則返回空字符串任何文本,則返回空字符串 ()?;蛑付òx?;蛑付òx定文本的字符串。定文本的字符串。 8例例5

15、-2 建立一個(gè)表單,其外觀建立一個(gè)表單,其外觀如圖所示如圖所示并完成下列功能:并完成下列功能: 編輯框與某表文件的的編輯框與某表文件的的備注型字段綁定;備注型字段綁定;執(zhí)行表單后,用戶選擇執(zhí)行表單后,用戶選擇編輯框的內(nèi)容,單擊編輯框的內(nèi)容,單擊【確定】按鈕,選定的【確定】按鈕,選定的內(nèi)容將在右邊的文本框內(nèi)容將在右邊的文本框中出現(xiàn)。中出現(xiàn)。操作步驟如下:操作步驟如下: 先作準(zhǔn)備工作,建立一個(gè)名為先作準(zhǔn)備工作,建立一個(gè)名為WBKLB.DBF的表文件,包含的表文件,包含一個(gè)字段,字段名為:一個(gè)字段,字段名為:NR,類型為:,類型為:M,并輸入一條記錄的,并輸入一條記錄的內(nèi)容,內(nèi)容可從某個(gè)已有的文件或

16、幫助中復(fù)制過(guò)來(lái)。內(nèi)容,內(nèi)容可從某個(gè)已有的文件或幫助中復(fù)制過(guò)來(lái)。新建一個(gè)表單,設(shè)置表單的新建一個(gè)表單,設(shè)置表單的Caption屬性值為:編輯框?qū)嵗?;屬性值為:編輯框?qū)嵗?;為表單設(shè)置數(shù)據(jù)環(huán)境,在數(shù)據(jù)環(huán)境中添加表為表單設(shè)置數(shù)據(jù)環(huán)境,在數(shù)據(jù)環(huán)境中添加表WBKLB.DBF;在表單中添加一個(gè)編輯框控件,一個(gè)文本框控件,設(shè)置編輯在表單中添加一個(gè)編輯框控件,一個(gè)文本框控件,設(shè)置編輯框的框的ControlSourc屬性為:屬性為:WBKLB.NR;再在表單中添加;再在表單中添加一個(gè)命令按鈕控件,設(shè)置該控件的一個(gè)命令按鈕控件,設(shè)置該控件的Caption屬性為:確定;屬性為:確定;Click事件代碼為:事件代碼為:

17、9復(fù)選框和單選框復(fù)選框和單選框 復(fù)選框與選項(xiàng)按鈕復(fù)選框與選項(xiàng)按鈕(又譯單選框又譯單選框)是對(duì)話框中是對(duì)話框中的常見(jiàn)對(duì)象,復(fù)選框允許同時(shí)選擇多項(xiàng),選的常見(jiàn)對(duì)象,復(fù)選框允許同時(shí)選擇多項(xiàng),選項(xiàng)按鈕則只能在多個(gè)選項(xiàng)中選擇其中的一項(xiàng)。項(xiàng)按鈕則只能在多個(gè)選項(xiàng)中選擇其中的一項(xiàng)。所以復(fù)選框可以在表單中獨(dú)立存在,選項(xiàng)按所以復(fù)選框可以在表單中獨(dú)立存在,選項(xiàng)按鈕只能存在于它的容器選項(xiàng)按鈕組中。鈕只能存在于它的容器選項(xiàng)按鈕組中。 復(fù)選框控件復(fù)選框控件 選項(xiàng)按鈕組控件選項(xiàng)按鈕組控件 10復(fù)選框控件復(fù)選框控件 復(fù)選框控件用于指定布爾狀態(tài):真或假,開(kāi)復(fù)選框控件用于指定布爾狀態(tài):真或假,開(kāi)或關(guān),打開(kāi)或關(guān)閉?;蜿P(guān),打開(kāi)或關(guān)閉。

18、復(fù)選框的常用屬性有:復(fù)選框的常用屬性有:Caption:該屬性的值用來(lái)定義復(fù)選框的標(biāo)題,:該屬性的值用來(lái)定義復(fù)選框的標(biāo)題,即說(shuō)明該復(fù)選框的功能。即說(shuō)明該復(fù)選框的功能。ControlSource:該屬性值指定與該復(fù)選框?qū)ο螅涸搶傩灾抵付ㄅc該復(fù)選框?qū)ο蠼壎ǖ臄?shù)據(jù)源。綁定的數(shù)據(jù)源。Value:指定復(fù)選框的狀態(tài)。:指定復(fù)選框的狀態(tài)。 Value 屬性的設(shè)置有:屬性的設(shè)置有:設(shè)置設(shè)置說(shuō)明說(shuō)明0 (默認(rèn)值)未選定。(默認(rèn)值)未選定。1 選定。選定。2 灰色,該設(shè)置只在代碼中可用。灰色,該設(shè)置只在代碼中可用。Style:該屬性的值用來(lái)定義復(fù)選框的外觀,有:該屬性的值用來(lái)定義復(fù)選框的外觀,有:0-標(biāo)準(zhǔn)、標(biāo)準(zhǔn)、

19、1-圖形兩種可選值。圖形兩種可選值。11選項(xiàng)按鈕組控件選項(xiàng)按鈕組控件 選項(xiàng)按鈕組常用來(lái)表示在一組可選的項(xiàng)目中,選項(xiàng)按鈕組常用來(lái)表示在一組可選的項(xiàng)目中,同一時(shí)刻有且僅有一項(xiàng)可以被選中。同一時(shí)刻有且僅有一項(xiàng)可以被選中。在選項(xiàng)按鈕組控件上單擊鼠標(biāo)右鍵,然后選在選項(xiàng)按鈕組控件上單擊鼠標(biāo)右鍵,然后選擇【編輯】,可以對(duì)選項(xiàng)組中的每一個(gè)選項(xiàng)擇【編輯】,可以對(duì)選項(xiàng)組中的每一個(gè)選項(xiàng)按鈕進(jìn)行屬性和事件代碼的設(shè)置。按鈕進(jìn)行屬性和事件代碼的設(shè)置。 選項(xiàng)組常用的屬性有:選項(xiàng)組常用的屬性有:ButtonCount:設(shè)置組中選項(xiàng)的數(shù)目。:設(shè)置組中選項(xiàng)的數(shù)目。BackStyle:設(shè)置選項(xiàng)組的背景是否透明。:設(shè)置選項(xiàng)組的背景是

20、否透明。BorderStyle:定義選項(xiàng)組的邊框。:定義選項(xiàng)組的邊框。Value:表示被選中的按鈕序號(hào),默認(rèn)值為:表示被選中的按鈕序號(hào),默認(rèn)值為1。 選項(xiàng)的常用屬性有:選項(xiàng)的常用屬性有:Caption:定義選項(xiàng)的說(shuō)明。:定義選項(xiàng)的說(shuō)明。Value:設(shè)置選項(xiàng)是否被選中,:設(shè)置選項(xiàng)是否被選中,1表示選中,表示選中,0表示未選中。表示未選中。Style:該屬性的值用來(lái)定義單選框的外觀,有:該屬性的值用來(lái)定義單選框的外觀,有:0-標(biāo)準(zhǔn)、標(biāo)準(zhǔn)、1-圖形兩種可選值。圖形兩種可選值。選項(xiàng)按鈕組控件也有生成器,用法同命令按鈕選項(xiàng)按鈕組控件也有生成器,用法同命令按鈕組類似。這里不再詳述,請(qǐng)看下面的例題。組類似。

21、這里不再詳述,請(qǐng)看下面的例題。12例例5-3 建立一個(gè)表單,其外觀建立一個(gè)表單,其外觀并完成下列功能:并完成下列功能: 表單被執(zhí)行時(shí)按表單被執(zhí)行時(shí)按圖所示的格式顯圖所示的格式顯示日期和時(shí)間;示日期和時(shí)間;當(dāng)用戶改變格式當(dāng)用戶改變格式設(shè)置時(shí),立刻按設(shè)置時(shí),立刻按用戶設(shè)置的格式用戶設(shè)置的格式顯示日期和時(shí)間;顯示日期和時(shí)間; 操作步驟如下:操作步驟如下:新建一個(gè)表單,添加五個(gè)標(biāo)簽控件、兩個(gè)文本框控件、新建一個(gè)表單,添加五個(gè)標(biāo)簽控件、兩個(gè)文本框控件、兩個(gè)選項(xiàng)按鈕組,兩個(gè)復(fù)選框控件、兩個(gè)形狀控件、兩個(gè)選項(xiàng)按鈕組,兩個(gè)復(fù)選框控件、兩個(gè)形狀控件、一個(gè)計(jì)時(shí)器控件,并設(shè)置相應(yīng)屬性,使其外觀如圖一個(gè)計(jì)時(shí)器控件,并

22、設(shè)置相應(yīng)屬性,使其外觀如圖5-6所示,兩個(gè)形狀控件必須設(shè)置為所示,兩個(gè)形狀控件必須設(shè)置為“置后置后”。設(shè)置控件的關(guān)鍵屬性,設(shè)置計(jì)時(shí)器控件的設(shè)置控件的關(guān)鍵屬性,設(shè)置計(jì)時(shí)器控件的Interval屬屬性值為:性值為:10;設(shè)置兩個(gè)文本框的;設(shè)置兩個(gè)文本框的TabStop屬性值屬性值為:為:.F.-假;上面文本框的假;上面文本框的Width屬性值為:屬性值為:240;下;下面文本框的面文本框的Width屬性值為:屬性值為:210;其它屬性值讀者;其它屬性值讀者可參照已確定的屬性值及圖可參照已確定的屬性值及圖5-6的相對(duì)位置自定。的相對(duì)位置自定。在計(jì)時(shí)器控件的在計(jì)時(shí)器控件的time事件中添加以下代碼:事

23、件中添加以下代碼:DO CASE SET DATE TO YMD SET DATE TO MDY SET DATE TO DMY ENDCASEx=DOW(DATE() &用用DOW()函數(shù)獲取當(dāng)前日期的星期數(shù)()函數(shù)獲取當(dāng)前日期的星期數(shù)DO CASECASE x=1 &如果是星期日如果是星期日y=日日CASE x=2 &如果是星期一如果是星期一y=一一CASE x=3 &如果是星期二如果是星期二y=二二CASE x=4 &如果是星期三如果是星期三y=三三CASE x=5 &如果是星期四如果是星期四y=四四CASE x=6 &如果是星期五

24、如果是星期五y=五五CASE x=7 &如果是星期六如果是星期六y=六六ENDCASEELSE DO CASE ENDCASEENDIF SET HOURS TO 12*根據(jù)當(dāng)前時(shí)間確定是上午,還是下午根據(jù)當(dāng)前時(shí)間確定是上午,還是下午IF hour(DATETIME()12 ELSEENDIFELSE &如果用戶選擇如果用戶選擇24小時(shí)制小時(shí)制SET HOURS TO 24ENDIFELSE &如果用戶選擇不顯示秒如果用戶選擇不顯示秒ENDIF 如圖所示如圖所示13列表框和組合框列表框和組合框 列表框與組合框都有一個(gè)供用戶選項(xiàng)的列表,列表框與組合框都有一個(gè)供用戶選項(xiàng)的列

25、表,但兩者之間有兩個(gè)區(qū)別:但兩者之間有兩個(gè)區(qū)別:(1)列表框任何時(shí)候都顯示它的列表,而組合框平列表框任何時(shí)候都顯示它的列表,而組合框平時(shí)只顯示一個(gè)項(xiàng),待用戶單擊它的向下按鈕后才時(shí)只顯示一個(gè)項(xiàng),待用戶單擊它的向下按鈕后才能顯示可滾動(dòng)的下拉列表。若要節(jié)省空間,并且能顯示可滾動(dòng)的下拉列表。若要節(jié)省空間,并且突出當(dāng)前選定的項(xiàng)時(shí)可使用組合框。突出當(dāng)前選定的項(xiàng)時(shí)可使用組合框。(2)組合框又分下拉組合框與下拉列表框兩類,前組合框又分下拉組合框與下拉列表框兩類,前者允許鍵入數(shù)據(jù)項(xiàng);而列表框與下拉列表框都僅者允許鍵入數(shù)據(jù)項(xiàng);而列表框與下拉列表框都僅有選項(xiàng)功能。有選項(xiàng)功能。 14列表框控件列表框控件 生成器生成器

26、 列表框生成器含有列表項(xiàng)、布局、樣式、值等列表框生成器含有列表項(xiàng)、布局、樣式、值等4個(gè)選項(xiàng)卡,用于為列表框設(shè)置各種屬性。個(gè)選項(xiàng)卡,用于為列表框設(shè)置各種屬性。列表項(xiàng)選項(xiàng)卡列表項(xiàng)選項(xiàng)卡 樣式選項(xiàng)卡樣式選項(xiàng)卡 布局選項(xiàng)卡布局選項(xiàng)卡 值選項(xiàng)卡值選項(xiàng)卡 控件值源的類型控件值源的類型 列表框的常用屬性列表框的常用屬性 列表項(xiàng)選項(xiàng)卡列表項(xiàng)選項(xiàng)卡該選項(xiàng)卡用于指定要填充到列表框中的項(xiàng)。該選項(xiàng)卡用于指定要填充到列表框中的項(xiàng)。填充項(xiàng)可以是填充項(xiàng)可以是3種類型數(shù)據(jù)之一:表或視圖中的種類型數(shù)據(jù)之一:表或視圖中的字段、手工輸入的數(shù)據(jù)或數(shù)組中的值。字段、手工輸入的數(shù)據(jù)或數(shù)組中的值。 表或視圖中的字段表或視圖中的字段 手工輸

27、入數(shù)據(jù)手工輸入數(shù)據(jù)數(shù)組中的值數(shù)組中的值 樣式選項(xiàng)卡該選項(xiàng)卡用于指定列表框的樣式,所顯示的行該選項(xiàng)卡用于指定列表框的樣式,所顯示的行數(shù),要否遞增搜索。下面僅說(shuō)明顯示行數(shù)的設(shè)數(shù),要否遞增搜索。下面僅說(shuō)明顯示行數(shù)的設(shè)置。置?!耙@示的行數(shù)要顯示的行數(shù)”微調(diào)控件用來(lái)調(diào)整列表框的微調(diào)控件用來(lái)調(diào)整列表框的顯示行數(shù),但是僅在文本選取顯示行數(shù),但是僅在文本選取7號(hào)字時(shí)所設(shè)置號(hào)字時(shí)所設(shè)置的行數(shù)與實(shí)際項(xiàng)數(shù)相符。原因是該微調(diào)控件的的行數(shù)與實(shí)際項(xiàng)數(shù)相符。原因是該微調(diào)控件的設(shè)置實(shí)際上改變了列表框的設(shè)置實(shí)際上改變了列表框的Height屬性,而屬性,而Visual FoxPro則按象素來(lái)指定高度。則按象素來(lái)指定高度。 布局

28、選項(xiàng)卡布局選項(xiàng)卡含有布局選項(xiàng)卡含有1個(gè)復(fù)選框和個(gè)復(fù)選框和1個(gè)表格,用于個(gè)表格,用于控制列表框的列寬和顯示??刂屏斜砜虻牧袑捄惋@示。1)“調(diào)整列表框的寬度來(lái)顯示所有列調(diào)整列表框的寬度來(lái)顯示所有列”復(fù)選框:該選復(fù)選框:該選項(xiàng)自動(dòng)設(shè)置了項(xiàng)自動(dòng)設(shè)置了Width屬性,能根據(jù)列表項(xiàng)選項(xiàng)卡中屬性,能根據(jù)列表項(xiàng)選項(xiàng)卡中微調(diào)控件指定的列數(shù)自動(dòng)調(diào)整列表框的寬度。微調(diào)控件指定的列數(shù)自動(dòng)調(diào)整列表框的寬度。2)表格:表格中顯示了在列表項(xiàng)選項(xiàng)卡中定義的列,表格:表格中顯示了在列表項(xiàng)選項(xiàng)卡中定義的列,并可用鼠標(biāo)拖動(dòng)列標(biāo)頭右邊的列間隔線來(lái)調(diào)整列并可用鼠標(biāo)拖動(dòng)列標(biāo)頭右邊的列間隔線來(lái)調(diào)整列寬,相當(dāng)于修改了寬,相當(dāng)于修改了Co1u

29、mnWidths屬性。雙擊列屬性。雙擊列標(biāo)頭還可隱藏該列,使得表單執(zhí)行時(shí)該列不顯示,標(biāo)頭還可隱藏該列,使得表單執(zhí)行時(shí)該列不顯示,但其數(shù)據(jù)仍起作用。但其數(shù)據(jù)仍起作用。 值選項(xiàng)卡值選項(xiàng)卡包含兩個(gè)組合框,分別用來(lái)指定返值選項(xiàng)卡包含兩個(gè)組合框,分別用來(lái)指定返回值的列以及存儲(chǔ)返回值的字段?;刂档牧幸约按鎯?chǔ)返回值的字段。1)“從哪一列中返回值從哪一列中返回值”組合框:該組合框的操作對(duì)組合框:該組合框的操作對(duì)應(yīng)于應(yīng)于BoundColumn屬性。組合框列表中包含字屬性。組合框列表中包含字段名或表示列號(hào)的選項(xiàng),供用戶決定列表框返回段名或表示列號(hào)的選項(xiàng),供用戶決定列表框返回值的字段或列。值的字段或列。2)字段名組

30、合框:該組合框的操作對(duì)應(yīng)于字段名組合框:該組合框的操作對(duì)應(yīng)于ControlSource屬性,用來(lái)指定存儲(chǔ)返回值的字屬性,用來(lái)指定存儲(chǔ)返回值的字段。段。 控件值源的類型控件值源的類型 列表框和組合框的列表中可以填充各類數(shù)據(jù),列表框和組合框的列表中可以填充各類數(shù)據(jù),在上述的列表框生成器中,已涉及值,數(shù)組在上述的列表框生成器中,已涉及值,數(shù)組和字段和字段3種類型,實(shí)際上共有種類型,實(shí)際上共有9類它們均由類它們均由RowSourceType屬性來(lái)指定,屬性來(lái)指定,RowSourceType 屬性的可取值如表屬性的可取值如表5-1所示:所示: 列表框的常用屬性列表框的常用屬性 MoverBars:設(shè)置列

31、表框的左側(cè)是否顯示移動(dòng):設(shè)置列表框的左側(cè)是否顯示移動(dòng)按鈕。按鈕。MultiSelect:設(shè)置用戶是否可以同時(shí)在列表中:設(shè)置用戶是否可以同時(shí)在列表中選擇多項(xiàng)。選擇多項(xiàng)。Value:返回列表框中選定的項(xiàng),如果有多列,:返回列表框中選定的項(xiàng),如果有多列,返回由返回由BoundColumn屬性指定的列的內(nèi)容。屬性指定的列的內(nèi)容。DisplayValue:返回列表框中選定的項(xiàng)第一列:返回列表框中選定的項(xiàng)第一列的內(nèi)容。的內(nèi)容。 15例例5-4 設(shè)計(jì)一個(gè)表單,實(shí)現(xiàn)設(shè)計(jì)一個(gè)表單,實(shí)現(xiàn) 的簡(jiǎn)易數(shù)學(xué)用表。的簡(jiǎn)易數(shù)學(xué)用表。 原數(shù)取原數(shù)取1100。 操作步驟如下:操作步驟如下:新建一個(gè)表單,向表單添加五個(gè)標(biāo)簽控件,一

32、新建一個(gè)表單,向表單添加五個(gè)標(biāo)簽控件,一個(gè)列表框控件,并設(shè)置相關(guān)屬性。個(gè)列表框控件,并設(shè)置相關(guān)屬性。設(shè)置列表框控件設(shè)置列表框控件List1的屬性的屬性ColumnCount的的值為值為5,說(shuō)明含有,說(shuō)明含有5列;屬性列;屬性ColumnWidth的的值為:值為:30,40,50,50,150,確定,確定5列各自的寬度。列各自的寬度。在控件在控件List1的的Init事件中添加如下代碼:事件中添加如下代碼: FOR i=1 to 100n=STR(i,3)This.AddListItem(n,i,1)n=STR(i*i,5)This.AddListItem(n,i,2)n=STR(SQRT(i)

33、,7,4)This.AddListItem(n,i,3)n=STR(LOG(i),7,4)This.AddListItem(n,i,4)n=STR(EXP(i),17,4)This.AddListItem(n,i,5)ENDFOR如圖所示如圖所示16組合框控件組合框控件 組合框是列表框和文本框的組合。組合框有組合框是列表框和文本框的組合。組合框有兩種類型:兩種類型:下拉式組合框下拉式組合框, Style屬性的值是屬性的值是0時(shí)時(shí)下拉式列表框,下拉式列表框,Style屬性的值是屬性的值是2時(shí)時(shí)組合框控件也有生成器,用法與列表框完全組合框控件也有生成器,用法與列表框完全相同相同 除了生成器提到的屬

34、性外,組合框的常用屬除了生成器提到的屬性外,組合框的常用屬性還有:性還有: Value屬性屬性 DisplayValue屬性屬性 ListCount屬性屬性 ListIndex屬性屬性 List屬性屬性 Selected屬性屬性 功能:返回組合框中選定的項(xiàng),如果有多列,功能:返回組合框中選定的項(xiàng),如果有多列,返回由返回由BoundColumn屬性指定的列的內(nèi)容。屬性指定的列的內(nèi)容。 功能:返回組合框中選定的項(xiàng)第一列的內(nèi)容。功能:返回組合框中選定的項(xiàng)第一列的內(nèi)容。也可返回用戶輸入的內(nèi)容。也可返回用戶輸入的內(nèi)容。 功能:返回組合框或列表框中列表項(xiàng)的個(gè)數(shù)。功能:返回組合框或列表框中列表項(xiàng)的個(gè)數(shù)。說(shuō)明

35、:該屬性在設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)為只讀說(shuō)明:該屬性在設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)為只讀屬性。即僅可取用屬性值,不可進(jìn)行設(shè)置。屬性。即僅可取用屬性值,不可進(jìn)行設(shè)置。 格式:格式:Control.ListIndex=nIndex 功能:返回或設(shè)置組合框功能:返回或設(shè)置組合框(列表框列表框)列表顯示時(shí)列表顯示時(shí)選定項(xiàng)的順序號(hào)。選定項(xiàng)的順序號(hào)。說(shuō)明:說(shuō)明:(1)本屬性用順序號(hào)來(lái)表示某項(xiàng)已被選定。本屬性用順序號(hào)來(lái)表示某項(xiàng)已被選定。nIndex則則代表要設(shè)置的順序號(hào),可取代表要設(shè)置的順序號(hào),可取1到到ListCount之間的整之間的整數(shù)之一。數(shù)之一。nIndex的缺省值是的缺省值是0,表示沒(méi)有選定列表項(xiàng)。對(duì)于下,表

36、示沒(méi)有選定列表項(xiàng)。對(duì)于下拉組合框,當(dāng)列表中沒(méi)有與鍵入值相同的項(xiàng)時(shí)就返拉組合框,當(dāng)列表中沒(méi)有與鍵入值相同的項(xiàng)時(shí)就返回回0。(2)本屬性設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)可讀寫(xiě)。本屬性設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)可讀寫(xiě)。 格式:格式:Control.List(nRow,nCol )功能:返回組合框或列表框第功能:返回組合框或列表框第nRow行,行,nCol列的內(nèi)容。列的內(nèi)容。 格式:格式:control.Selected(nIndex)=IExpr 功能:用于分辨組合框或列表框中某一列表項(xiàng)功能:用于分辨組合框或列表框中某一列表項(xiàng)是否被選中。當(dāng)選中時(shí)是否被選中。當(dāng)選中時(shí)Selected屬性返回屬性返回.T.,否則返回否則

37、返回.F.。說(shuō)明:說(shuō)明:(1)nIndex表示列表項(xiàng)的顯示順序號(hào);表示列表項(xiàng)的顯示順序號(hào);(3)本屬性設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)可讀寫(xiě)。本屬性設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)可讀寫(xiě)。 17微調(diào)控件微調(diào)控件 微調(diào)控件的常用屬性有:微調(diào)控件的常用屬性有:Increment:用戶點(diǎn)按向上或向下按鈕時(shí)每次增大或減?。河脩酎c(diǎn)按向上或向下按鈕時(shí)每次增大或減小的值。的值。KeyboardHighValue:能輸入到微調(diào)控件文本框中的最:能輸入到微調(diào)控件文本框中的最大值。大值。KeyboardLowValue:能輸入到微調(diào)控件文本框中的最:能輸入到微調(diào)控件文本框中的最小值。小值。SpinnerHighValue:用戶按向上按鈕

38、時(shí)能達(dá)到的最大值。:用戶按向上按鈕時(shí)能達(dá)到的最大值。SpinnerLowValue:用戶按向下按鈕時(shí)能達(dá)到的最小值。:用戶按向下按鈕時(shí)能達(dá)到的最小值。Value:返回用戶設(shè)置的值。:返回用戶設(shè)置的值。 18例例5-5 設(shè)計(jì)新增人事數(shù)據(jù)的表單設(shè)計(jì)新增人事數(shù)據(jù)的表單 要求充分利用新學(xué)的知識(shí),設(shè)計(jì)表單時(shí)盡量為用戶著想,為要求充分利用新學(xué)的知識(shí),設(shè)計(jì)表單時(shí)盡量為用戶著想,為用戶提供方便。用戶提供方便。 設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下:利用數(shù)據(jù)環(huán)境向表單快速添利用數(shù)據(jù)環(huán)境向表單快速添加控件:用鼠標(biāo)指向加控件:用鼠標(biāo)指向RSB表表的字段行,按下鼠標(biāo)左鍵拖的字段行,按下鼠標(biāo)左鍵拖曳到表單的左上角,釋放鼠曳到表單

39、的左上角,釋放鼠標(biāo)則產(chǎn)生如圖所示的表單,標(biāo)則產(chǎn)生如圖所示的表單,默認(rèn)表單不夠大,可拖曳表默認(rèn)表單不夠大,可拖曳表單邊框到足夠大,就可以看單邊框到足夠大,就可以看到所有的控件。到所有的控件。 對(duì)于性別字段的輸入,只有對(duì)于性別字段的輸入,只有兩種可取值,沒(méi)有必要讓用兩種可取值,沒(méi)有必要讓用戶輸入戶輸入“男男”或或“女女”,可,可利用選項(xiàng)按鈕組控件,如圖利用選項(xiàng)按鈕組控件,如圖5-12所示,由用戶單擊鼠標(biāo)所示,由用戶單擊鼠標(biāo)就可選定就可選定“男男”或或“女女”。所以需將已有的與性別綁定所以需將已有的與性別綁定的文本框刪除。的文本框刪除。操作如下:在表單空表操作如下:在表單空表處單擊鼠標(biāo),取消對(duì)所處單

40、擊鼠標(biāo),取消對(duì)所有控件的選擇,選擇與有控件的選擇,選擇與性別綁定的文本框,按性別綁定的文本框,按Delete鍵刪除。添加一鍵刪除。添加一個(gè)選項(xiàng)按鈕組,設(shè)置成個(gè)選項(xiàng)按鈕組,設(shè)置成如圖如圖5-13右上角所示的右上角所示的外觀。外觀。對(duì)于對(duì)于“部門(mén)代碼部門(mén)代碼”字段的值要字段的值要利用利用BMDM表的內(nèi)容,刪除與表的內(nèi)容,刪除與“部門(mén)代碼部門(mén)代碼”綁定的文本框,綁定的文本框,添加一個(gè)組合框控件,在組合添加一個(gè)組合框控件,在組合框上單擊鼠標(biāo)右鍵,選擇【生框上單擊鼠標(biāo)右鍵,選擇【生成器】,對(duì)成器】,對(duì)“列表項(xiàng)列表項(xiàng)”頁(yè)面設(shè)頁(yè)面設(shè)置成如圖置成如圖5-14所示,對(duì)所示,對(duì)“值值”頁(yè)面設(shè)置成如圖頁(yè)面設(shè)置成如圖

41、5-15所示,其所示,其它兩個(gè)頁(yè)面不變,最后單擊它兩個(gè)頁(yè)面不變,最后單擊【確定】確認(rèn)設(shè)置?!敬_定】確認(rèn)設(shè)置。刪除與刪除與“出生日期出生日期”和和“工作日期工作日期”綁定的文本框,保留相應(yīng)的標(biāo)簽,添綁定的文本框,保留相應(yīng)的標(biāo)簽,添加兩個(gè)微調(diào)控件、一個(gè)組合框控件、加兩個(gè)微調(diào)控件、一個(gè)組合框控件、一個(gè)形狀控件和三個(gè)標(biāo)簽控件,并調(diào)一個(gè)形狀控件和三個(gè)標(biāo)簽控件,并調(diào)整成第二行的外觀。提示:形狀控件整成第二行的外觀。提示:形狀控件要置后。在組合框上單擊鼠標(biāo)右鍵,要置后。在組合框上單擊鼠標(biāo)右鍵,選擇【生成器】,對(duì)選擇【生成器】,對(duì)“列表項(xiàng)列表項(xiàng)”頁(yè)面頁(yè)面設(shè)置,表格中的數(shù)一直輸入到設(shè)置,表格中的數(shù)一直輸入到12

42、,其它三個(gè)頁(yè)面不變,最后單擊【確定】其它三個(gè)頁(yè)面不變,最后單擊【確定】確認(rèn)設(shè)置。并設(shè)置兩個(gè)微調(diào)控件的屬確認(rèn)設(shè)置。并設(shè)置兩個(gè)微調(diào)控件的屬性示性示選定輸入年月日的所有控件,如選定輸入年月日的所有控件,如圖圖5-17所示。單擊所示。單擊“復(fù)制復(fù)制”按鈕,按鈕,再單擊再單擊“粘帖粘帖”按鈕,這樣就有按鈕,這樣就有了兩個(gè)輸入日期的控件,再將了兩個(gè)輸入日期的控件,再將Spinner1、Spinner2、Spinner3、Spinner4的的Value屬屬性分別設(shè)置為:性分別設(shè)置為:1960,1,1949,1作為默認(rèn)值。作為默認(rèn)值。 對(duì)于對(duì)于“職稱職稱”字段,也需作處理,字段,也需作處理,為給用戶提供更方便

43、的輸入界面,為給用戶提供更方便的輸入界面,刪除與刪除與“職稱職稱”綁定的文本框,綁定的文本框,添加一個(gè)組合框控件,在組合框添加一個(gè)組合框控件,在組合框上單擊鼠標(biāo)右鍵,選擇【生成上單擊鼠標(biāo)右鍵,選擇【生成器】,對(duì)器】,對(duì)“列表項(xiàng)列表項(xiàng)”頁(yè)面設(shè)置成頁(yè)面設(shè)置成如圖如圖5-15所示,對(duì)所示,對(duì)“值值”頁(yè)面設(shè)頁(yè)面設(shè)置成如圖置成如圖5-19所示,其它兩個(gè)頁(yè)所示,其它兩個(gè)頁(yè)面不變,最后單擊【確定】確認(rèn)面不變,最后單擊【確定】確認(rèn)設(shè)置。設(shè)置。對(duì)于對(duì)于“相片相片”字段,也需作處理,字段,也需作處理,為美觀起見(jiàn),添加一個(gè)形狀控件,為美觀起見(jiàn),添加一個(gè)形狀控件,使其置后,并設(shè)置成三維。為給使其置后,并設(shè)置成三維。為

44、給用戶提供更方便的輸入界面,添用戶提供更方便的輸入界面,添加一個(gè)命令按鈕,將命令按鈕的加一個(gè)命令按鈕,將命令按鈕的外觀設(shè)置成如圖外觀設(shè)置成如圖5-13所示,相片所示,相片標(biāo)簽下的命令按鈕形狀,并設(shè)置標(biāo)簽下的命令按鈕形狀,并設(shè)置該命令按鈕的該命令按鈕的Click事件的代碼為:事件的代碼為:filename=GETPICT() &利用利用getpict()函數(shù)打開(kāi)選擇圖函數(shù)打開(kāi)選擇圖片的對(duì)話框片的對(duì)話框APPEND GENERAL 相片相片 FROM &filename &將選將選取的圖片放到當(dāng)前記錄的相片字段中取的圖片放到當(dāng)前記錄的相片字段中Thisform.Refres

45、h() &刷新表單的顯示,目的是讓剛選刷新表單的顯示,目的是讓剛選的圖顯示出來(lái)的圖顯示出來(lái) 調(diào)整各控件的位置如圖調(diào)整各控件的位置如圖5-13所示,添加兩個(gè)線條控件、所示,添加兩個(gè)線條控件、兩個(gè)命令按鈕控件,線條的兩個(gè)命令按鈕控件,線條的顏色一條設(shè)置成深灰、一條顏色一條設(shè)置成深灰、一條設(shè)置成白色,兩條緊埃著,設(shè)置成白色,兩條緊埃著,形成立體效果。形成立體效果。添加控件代碼:添加控件代碼:Init事件代碼事件代碼 “保存保存”按鈕的按鈕的Click事件代碼事件代碼 “取消退出取消退出”命令按鈕的命令按鈕的Click事件代碼事件代碼 四個(gè)組合框控件的四個(gè)組合框控件的Init事件代碼事件代碼

46、選項(xiàng)按鈕組的選項(xiàng)按鈕組的Click事件的代碼事件的代碼 與職稱綁定組合框控件的與職稱綁定組合框控件的LostFocus事件的代碼事件的代碼 19表格控件表格控件 Visual FoxPro提供了一個(gè)強(qiáng)大的工具來(lái)顯示提供了一個(gè)強(qiáng)大的工具來(lái)顯示和操作多行數(shù)據(jù),這就是表格。表格是一個(gè)和操作多行數(shù)據(jù),這就是表格。表格是一個(gè)容器對(duì)象,像表單集能包含多個(gè)表單一樣,容器對(duì)象,像表單集能包含多個(gè)表單一樣,它可以包含多個(gè)列。另外,列可以包含表頭它可以包含多個(gè)列。另外,列可以包含表頭和控件,并且每一部分都有自己的屬性、事和控件,并且每一部分都有自己的屬性、事件和方法。件和方法。 表格的組成表格的組成 在表單窗口添

47、加表格控件在表單窗口添加表格控件 表格編輯表格編輯 表格的常用屬性表格的常用屬性 用表格控件建立一對(duì)多表單用表格控件建立一對(duì)多表單 (1)表格表格(Grid):由一或若干列組成:由一或若干列組成(2)列列(Column):一列可顯示表的一個(gè)字段,列由:一列可顯示表的一個(gè)字段,列由列標(biāo)題和列控件組成。列標(biāo)題和列控件組成。(3)列標(biāo)題列標(biāo)題(例如:例如:Headerl):默認(rèn)顯示字段名,允:默認(rèn)顯示字段名,允許修改。許修改。(4)列控件列控件(例如:例如:Textl);一列必須設(shè)置一個(gè)列控;一列必須設(shè)置一個(gè)列控件,該列中的每個(gè)單元格都可用此控件來(lái)顯示字件,該列中的每個(gè)單元格都可用此控件來(lái)顯示字段值

48、。列控件默認(rèn)為文本框段值。列控件默認(rèn)為文本框 從數(shù)據(jù)環(huán)境創(chuàng)建從數(shù)據(jù)環(huán)境創(chuàng)建 利用表格生成器創(chuàng)建利用表格生成器創(chuàng)建 表格項(xiàng)選項(xiàng)卡表格項(xiàng)選項(xiàng)卡 樣式選項(xiàng)卡樣式選項(xiàng)卡 布局選項(xiàng)卡布局選項(xiàng)卡 關(guān)系選項(xiàng)卡關(guān)系選項(xiàng)卡 交互式創(chuàng)建交互式創(chuàng)建修改列標(biāo)題修改列標(biāo)題前已提到,在表格生成器的標(biāo)題文本框中可以修改列前已提到,在表格生成器的標(biāo)題文本框中可以修改列標(biāo)題。此外還有下面兩種方法。標(biāo)題。此外還有下面兩種方法。b. 在屬性窗口對(duì)象列表中按照從容器到對(duì)象的次序,在屬性窗口對(duì)象列表中按照從容器到對(duì)象的次序,找到找到Headerl對(duì)象后,選擇該對(duì)象作為當(dāng)前對(duì)象,然對(duì)象后,選擇該對(duì)象作為當(dāng)前對(duì)象,然后修改其后修改其Cap

49、tion屬性。屬性。 調(diào)整表格的行高與列寬調(diào)整表格的行高與列寬b. 調(diào)整行高:標(biāo)題欄行和內(nèi)容行的調(diào)整方法略有不同。調(diào)整行高:標(biāo)題欄行和內(nèi)容行的調(diào)整方法略有不同。表格激活后,若調(diào)整標(biāo)題欄高度,可將鼠標(biāo)指針置于表格激活后,若調(diào)整標(biāo)題欄高度,可將鼠標(biāo)指針置于表格標(biāo)題欄行首按鈕的下框線處,當(dāng)指針變成帶有上表格標(biāo)題欄行首按鈕的下框線處,當(dāng)指針變成帶有上下雙向箭頭的橫條后,即可上下拖動(dòng)行線來(lái)改變高度。下雙向箭頭的橫條后,即可上下拖動(dòng)行線來(lái)改變高度。調(diào)整內(nèi)容行高度時(shí),應(yīng)將鼠標(biāo)指針置于表格內(nèi)容第調(diào)整內(nèi)容行高度時(shí),應(yīng)將鼠標(biāo)指針置于表格內(nèi)容第1行行行首按鈕的下框線處,然后上下拖動(dòng)行線來(lái)改變行高。行首按鈕的下框線處

50、,然后上下拖動(dòng)行線來(lái)改變行高。此時(shí),所有內(nèi)容行的高度將統(tǒng)一變化。此時(shí),所有內(nèi)容行的高度將統(tǒng)一變化。 若要禁止用戶在運(yùn)行時(shí)擅自改變表格標(biāo)題欄的高若要禁止用戶在運(yùn)行時(shí)擅自改變表格標(biāo)題欄的高度,可將表格的度,可將表格的AllowHeaderSizing屬性設(shè)置屬性設(shè)置為為.F.;若表格的;若表格的AllowRowSizing屬性為屬性為.F.,則,則禁止改變表格內(nèi)容行的高度。禁止改變表格內(nèi)容行的高度。列的增刪列的增刪a. 在表格的在表格的ColumnCount屬性中設(shè)置表格的列數(shù),從屬性中設(shè)置表格的列數(shù),從而改變表格的列數(shù)。而改變表格的列數(shù)。b. 打開(kāi)表格生成器,在表格項(xiàng)選項(xiàng)卡中可增加或減少字打開(kāi)表

51、格生成器,在表格項(xiàng)選項(xiàng)卡中可增加或減少字段。段。c. 要?jiǎng)h除列,可在屬性窗口中選定某列后按要?jiǎng)h除列,可在屬性窗口中選定某列后按Del健。健。列屬性列屬性ControlSource:指定某表的某字段作為本列的數(shù)據(jù):指定某表的某字段作為本列的數(shù)據(jù)源。源。CurrentControl:為列指定控件。:為列指定控件。 在數(shù)據(jù)環(huán)境中建立一對(duì)多表單的步驟如下:在數(shù)據(jù)環(huán)境中建立一對(duì)多表單的步驟如下:從數(shù)據(jù)環(huán)境設(shè)計(jì)器的父表中把期望的字段拖動(dòng)到表單從數(shù)據(jù)環(huán)境設(shè)計(jì)器的父表中把期望的字段拖動(dòng)到表單里。里。從數(shù)據(jù)環(huán)境設(shè)計(jì)器中把相關(guān)的子表拖動(dòng)到表單里。從數(shù)據(jù)環(huán)境設(shè)計(jì)器中把相關(guān)的子表拖動(dòng)到表單里。表格屬性表格屬性Chil

52、dOrder:與父表的主關(guān)鍵字相連接的子表的外部:與父表的主關(guān)鍵字相連接的子表的外部關(guān)鍵字。關(guān)鍵字。ColumnCount:列數(shù)。如果:列數(shù)。如果ColumnCount設(shè)置為設(shè)置為-1,表格的列數(shù)與表格的列數(shù)與RecordSource中的字段數(shù)相同。中的字段數(shù)相同。LinkMaster:在表格中顯示的子記錄的父表。:在表格中顯示的子記錄的父表。RecordSource:顯示在表格中的數(shù)據(jù)源。:顯示在表格中的數(shù)據(jù)源。RecordSourceType:顯示在表格中的數(shù)據(jù)類型。:顯示在表格中的數(shù)據(jù)類型。20例例5-6 設(shè)計(jì)一個(gè)按部門(mén)瀏覽人事表設(shè)計(jì)一個(gè)按部門(mén)瀏覽人事表記錄的表單。記錄的表單。 設(shè)計(jì)步驟

53、如下:設(shè)計(jì)步驟如下:建立一個(gè)新表單,為該表單添加數(shù)據(jù)環(huán)境,在數(shù)據(jù)環(huán)境建立一個(gè)新表單,為該表單添加數(shù)據(jù)環(huán)境,在數(shù)據(jù)環(huán)境中添加表中添加表BMDM和表和表RSB,將表,將表BMDM的的“部門(mén)名稱部門(mén)名稱”字段從數(shù)據(jù)環(huán)境中拖到表單中,在表單中將出現(xiàn)一個(gè)文字段從數(shù)據(jù)環(huán)境中拖到表單中,在表單中將出現(xiàn)一個(gè)文本框控件,該控件的本框控件,該控件的ControlSource屬性將自動(dòng)設(shè)置為屬性將自動(dòng)設(shè)置為BMDM.部門(mén)名稱。在部門(mén)名稱。在RSB的標(biāo)題處按下鼠標(biāo)拖到表單中,的標(biāo)題處按下鼠標(biāo)拖到表單中,將出現(xiàn)一個(gè)表格控件,該控件的將出現(xiàn)一個(gè)表格控件,該控件的RecordSourceType屬屬性自動(dòng)被設(shè)置為性自動(dòng)被設(shè)

54、置為1-別名,別名,RecordSource屬性自動(dòng)被設(shè)置屬性自動(dòng)被設(shè)置為:為:RSB。 在表單中添加一個(gè)命在表單中添加一個(gè)命令按鈕組控件,并設(shè)令按鈕組控件,并設(shè)置相應(yīng)屬性使其外觀置相應(yīng)屬性使其外觀如圖如圖5-20所示,注意所示,注意需將需將“上一條上一條”命令命令按鈕的按鈕的Enabled屬性屬性設(shè)置為設(shè)置為.F.。設(shè)置命令。設(shè)置命令按鈕組的按鈕組的Click事件的事件的代碼為:代碼為:IF This.Value=1 &如果用戶單擊了如果用戶單擊了“上一條上一條”命令按鈕命令按鈕SKIP -1 &讓表指針向前跳一步讓表指針向前跳一步ELSE &如果用戶單擊了如果用戶單

55、擊了“下一條下一條”命令按鈕命令按鈕SKIP &讓表指針向后跳一步讓表指針向后跳一步ENDIFDO CASECASE RECNO()=1 &如果表指針指向第一條記錄如果表指針指向第一條記錄CASE RECNO()=RECCOUNT() &如果表指針指向最后一條記錄如果表指針指向最后一條記錄OTHERWISE &如果表指針指向中間某條記錄如果表指針指向中間某條記錄ENDCASEThisform.Refresh &刷新表單的顯示刷新表單的顯示 最后以最后以fzbd.scx為文件名為文件名保存表單。然后執(zhí)行表單,保存表單。然后執(zhí)行表單,當(dāng)用戶單擊下一條或上一當(dāng)

56、用戶單擊下一條或上一條時(shí),對(duì)于文本框中顯示條時(shí),對(duì)于文本框中顯示的一個(gè)父表的部門(mén)名稱,的一個(gè)父表的部門(mén)名稱,在子表中將列出所有屬于在子表中將列出所有屬于該部門(mén)的職工記錄信息,該部門(mén)的職工記錄信息,如圖如圖5-21所示。這是由于所示。這是由于我們?cè)趦蓚€(gè)表之間建立了我們?cè)趦蓚€(gè)表之間建立了一對(duì)多的關(guān)系一對(duì)多的關(guān)系。21頁(yè)框控件頁(yè)框控件 頁(yè)框是一個(gè)包含頁(yè)面的容器對(duì)象,用戶可在頁(yè)框是一個(gè)包含頁(yè)面的容器對(duì)象,用戶可在頁(yè)框中定義多個(gè)頁(yè)面,以生成帶選項(xiàng)卡的對(duì)頁(yè)框中定義多個(gè)頁(yè)面,以生成帶選項(xiàng)卡的對(duì)話框。話框。 在表單中添加頁(yè)框控件的步驟為:在表單中添加頁(yè)框控件的步驟為:在表單控制工具欄中單頁(yè)框控件按鈕;在表單控

57、制工具欄中單頁(yè)框控件按鈕;移動(dòng)鼠標(biāo)指針到表單中,單擊并拖拽到合適的大移動(dòng)鼠標(biāo)指針到表單中,單擊并拖拽到合適的大??;??;頁(yè)框的常用屬性有:頁(yè)框的常用屬性有:PageCount:設(shè)置頁(yè)框中頁(yè)面的個(gè)數(shù)。:設(shè)置頁(yè)框中頁(yè)面的個(gè)數(shù)。頁(yè)面的常用屬性有:頁(yè)面的常用屬性有:Caption:設(shè)置頁(yè)面的名稱。:設(shè)置頁(yè)面的名稱。 在頁(yè)框中選擇不同頁(yè)面的步驟如下:在頁(yè)框中選擇不同頁(yè)面的步驟如下:在頁(yè)框中單擊鼠標(biāo)右鍵,選擇編輯,則頁(yè)框呈現(xiàn)在頁(yè)框中單擊鼠標(biāo)右鍵,選擇編輯,則頁(yè)框呈現(xiàn)出選中狀態(tài),邊框變粗;出選中狀態(tài),邊框變粗;單擊要選擇的頁(yè)面標(biāo)簽。單擊要選擇的頁(yè)面標(biāo)簽。在頁(yè)面中加入控件的步驟如下:在頁(yè)面中加入控件的步驟如下:

58、選中要加入控件的頁(yè)面;選中要加入控件的頁(yè)面;在表單控制工具欄中單擊所需控件,移動(dòng)鼠標(biāo)到在表單控制工具欄中單擊所需控件,移動(dòng)鼠標(biāo)到所選頁(yè)面中,單擊并拖拽到合適大小。所選頁(yè)面中,單擊并拖拽到合適大小。 22例例5-7 建立一個(gè)建立一個(gè) 及及 所示含有兩所示含有兩個(gè)頁(yè)面的增加及瀏覽人事數(shù)據(jù)的表單。個(gè)頁(yè)面的增加及瀏覽人事數(shù)據(jù)的表單。 如圖如圖1圖圖2設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下:打開(kāi)打開(kāi)RSBWH表單,選中所有控件,單擊常用工具欄的【復(fù)表單,選中所有控件,單擊常用工具欄的【復(fù)制】按鈕,在頁(yè)框控件上單擊鼠標(biāo)右鍵,選擇【編輯】菜單制】按鈕,在頁(yè)框控件上單擊鼠標(biāo)右鍵,選擇【編輯】菜單項(xiàng),單擊常用工具欄的【粘貼

59、】按鈕,并調(diào)整控件到合適的項(xiàng),單擊常用工具欄的【粘貼】按鈕,并調(diào)整控件到合適的位置,如圖位置,如圖1所示。并將所示。并將RSBWH表單的表單的Init事件的代碼復(fù)制事件的代碼復(fù)制到當(dāng)前表單的到當(dāng)前表單的Init事件中;將事件中;將RSBWH表單數(shù)據(jù)環(huán)境的表單數(shù)據(jù)環(huán)境的Opentables和和Closetables事件的代碼復(fù)制到當(dāng)前表單的相事件的代碼復(fù)制到當(dāng)前表單的相應(yīng)事件中。應(yīng)事件中。 將數(shù)據(jù)環(huán)境窗口顯示出來(lái),單擊頁(yè)框的第二個(gè)頁(yè)面。拖拽將數(shù)據(jù)環(huán)境窗口顯示出來(lái),單擊頁(yè)框的第二個(gè)頁(yè)面。拖拽RSB表(鼠標(biāo)指針指向表(鼠標(biāo)指針指向RSB的標(biāo)題行,然后單擊并拖拽)到的標(biāo)題行,然后單擊并拖拽)到頁(yè)框的第

60、二個(gè)頁(yè)面上,并調(diào)整表格到合適的位置,如圖頁(yè)框的第二個(gè)頁(yè)面上,并調(diào)整表格到合適的位置,如圖2所示。所示。添加添加Page1的的Click事件的代碼為:事件的代碼為:GO BOTTOM &確保回到頁(yè)面確?;氐巾?yè)面1時(shí)表指針指向最后一條記錄。時(shí)表指針指向最后一條記錄。以以ykbd為文件名保存該表單,然后執(zhí)行表單,將出現(xiàn)如圖為文件名保存該表單,然后執(zhí)行表單,將出現(xiàn)如圖1所示的表單,在表單中單擊第二個(gè)頁(yè)面,將顯示一個(gè)表格,所示的表單,在表單中單擊第二個(gè)頁(yè)面,將顯示一個(gè)表格,如圖如圖2所示。表格中列出表的記錄。所示。表格中列出表的記錄。 23超級(jí)連接超級(jí)連接 超級(jí)鏈接對(duì)象含有一個(gè)超級(jí)鏈接對(duì)象含有一個(gè)NavigateTo方法程序,方法程序,它允許用戶指定一個(gè)網(wǎng)址,執(zhí)行該方法程序它允許用戶指定一個(gè)網(wǎng)址,執(zhí)行該方法程序時(shí)時(shí)Visual FoxPro就會(huì)啟動(dòng)因特網(wǎng)瀏覽器,并就會(huì)啟動(dòng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論