Visual FoxPro數(shù)據(jù)庫(kù)程序設(shè)計(jì)課件Chap8_1(白文庫(kù)2)_第1頁
Visual FoxPro數(shù)據(jù)庫(kù)程序設(shè)計(jì)課件Chap8_1(白文庫(kù)2)_第2頁
Visual FoxPro數(shù)據(jù)庫(kù)程序設(shè)計(jì)課件Chap8_1(白文庫(kù)2)_第3頁
Visual FoxPro數(shù)據(jù)庫(kù)程序設(shè)計(jì)課件Chap8_1(白文庫(kù)2)_第4頁
Visual FoxPro數(shù)據(jù)庫(kù)程序設(shè)計(jì)課件Chap8_1(白文庫(kù)2)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2004-12-28制作者:王偉勤制作者:王偉勤1其它控件介紹其它控件介紹表單管理表單管理 多表單應(yīng)用程序多表單應(yīng)用程序 類類 建立工具欄建立工具欄 2004-12-28制作者:王偉勤制作者:王偉勤2表單設(shè)計(jì)的基本步驟為:表單設(shè)計(jì)的基本步驟為: 打開表單設(shè)計(jì)器打開表單設(shè)計(jì)器向表單添加控件向表單添加控件設(shè)置表單及控件的屬性設(shè)置表單及控件的屬性添加表單及控件的事件代碼添加表單及控件的事件代碼保存表單保存表單運(yùn)行及調(diào)試表單。運(yùn)行及調(diào)試表單。2004-12-28制作者:王偉勤制作者:王偉勤3其它控件介紹其它控件介紹 控件的通用屬性控件的通用屬性 命令按鈕組控件命令按鈕組控件 編輯框編輯框 復(fù)選框和單選

2、框復(fù)選框和單選框 列表框和組合框列表框和組合框 微調(diào)控件微調(diào)控件 表格和頁框表格和頁框 超級(jí)連接超級(jí)連接 ActiveX控件和控件和ActiveX綁定控件綁定控件 2004-12-28制作者:王偉勤制作者:王偉勤4控件的通用屬性控件的通用屬性 Enabled屬性屬性 Visible屬性屬性 以以Font打頭的一組屬性打頭的一組屬性 為多個(gè)對(duì)象設(shè)置共同屬性為多個(gè)對(duì)象設(shè)置共同屬性 這一屬性是除這一屬性是除“超級(jí)連接超級(jí)連接”之外的所有控件及表之外的所有控件及表單都有的屬性,其值可設(shè)置為:?jiǎn)味加械膶傩?,其值可設(shè)置為:.T.-真或真或.F.-假,假,指定表單或控件能否響應(yīng)由用戶引發(fā)的事件。只指定表單或

3、控件能否響應(yīng)由用戶引發(fā)的事件。只有有“計(jì)時(shí)器計(jì)時(shí)器”控件的這一屬性的含義不同,請(qǐng)參控件的這一屬性的含義不同,請(qǐng)參閱閱6.6.3節(jié)。節(jié)。 這一屬性是除這一屬性是除“超級(jí)連接超級(jí)連接”和和“計(jì)時(shí)器計(jì)時(shí)器”之外的之外的所有運(yùn)行時(shí)可見的控件及表單都有的屬性,其值所有運(yùn)行時(shí)可見的控件及表單都有的屬性,其值可設(shè)置為:可設(shè)置為:.T.-真或真或.F.-假,指定運(yùn)行時(shí)對(duì)象是可假,指定運(yùn)行時(shí)對(duì)象是可見還是隱藏。見還是隱藏。 FontSize:定義字的大小;:定義字的大??;FontName:定義文本的字體;:定義文本的字體;FontColor:定義字的顏色;:定義字的顏色;Fontbold:定義文字是否粗體;:定

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

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

6、其命令按鈕的操作 按鈕選項(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)整大小。

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

8、命令按鈕的數(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事件

9、代碼中便可判別出單擊的是哪個(gè)命令事件代碼中便可判別出單擊的是哪個(gè)命令按鈕,并決定執(zhí)行的動(dòng)作。按鈕,并決定執(zhí)行的動(dòng)作。(1)若命令按鈕組及其所含的各命令按鈕分別設(shè)置了若命令按鈕組及其所含的各命令按鈕分別設(shè)置了Click事事件代碼,件代碼,Visual FoxPro將以命令按鈕的將以命令按鈕的Click事件代碼優(yōu)事件代碼優(yōu)先。先。例如引用命令按鈕組中的命令按鈕,例如引用命令按鈕組中的命令按鈕,Thisform.Commandgroupl.Commandl或或This.Commandl。 (1)容器本身的編輯:設(shè)計(jì)時(shí)若在表單上選定容器,就可編容器本身的編輯:設(shè)計(jì)時(shí)若在表單上選定容器,就可編輯該容器的

10、屬性、事件代碼與方法程序,但不能編輯容器輯該容器的屬性、事件代碼與方法程序,但不能編輯容器中的對(duì)象。中的對(duì)象。 (2)容器中對(duì)象的編輯:要編輯容器中的對(duì)象,須先激活容容器中對(duì)象的編輯:要編輯容器中的對(duì)象,須先激活容器。激活的方法是選定容器的快捷菜單中的【編輯】命令,器。激活的方法是選定容器的快捷菜單中的【編輯】命令,容器被激活的標(biāo)志是其四周顯示一個(gè)斜線邊框,容器被激活的標(biāo)志是其四周顯示一個(gè)斜線邊框,如圖所示如圖所示。容器激活后,用戶便可選定其中的對(duì)象進(jìn)行編輯。容器激活后,用戶便可選定其中的對(duì)象進(jìn)行編輯。2004-12-28制作者:王偉勤制作者:王偉勤6操作步驟如下:操作步驟如下:計(jì)算器的按鈕部

11、分用命令按鈕組控件進(jìn)行設(shè)計(jì)。向表單計(jì)算器的按鈕部分用命令按鈕組控件進(jìn)行設(shè)計(jì)。向表單添加一個(gè)命令按鈕組控件,在命令按鈕組控件上單擊右添加一個(gè)命令按鈕組控件,在命令按鈕組控件上單擊右鍵,選擇【生成器】,在按鈕選項(xiàng)卡中設(shè)置按鈕數(shù)目為鍵,選擇【生成器】,在按鈕選項(xiàng)卡中設(shè)置按鈕數(shù)目為16,并設(shè)置標(biāo)題,并設(shè)置標(biāo)題 。然后在。然后在“布局布局”頁面中設(shè)置頁面中設(shè)置“按鈕布局按鈕布局”為:水平。單擊【確定】按鈕,關(guān)閉生成為:水平。單擊【確定】按鈕,關(guān)閉生成器。設(shè)置命令按鈕組控件的器。設(shè)置命令按鈕組控件的Height屬性值為屬性值為140,在命令,在命令按鈕組控件上單擊右鍵,選擇【編輯】,移動(dòng)命令按鈕,按鈕組控

12、件上單擊右鍵,選擇【編輯】,移動(dòng)命令按鈕,將所有命令按鈕的將所有命令按鈕的height和和Widdth均設(shè)置為:均設(shè)置為:25,設(shè)置,設(shè)置成成 的狀態(tài)。其它部分外觀的設(shè)計(jì)同的狀態(tài)。其它部分外觀的設(shè)計(jì)同例例6-10,可以從可以從例例6-10的表單中復(fù)制過來。的表單中復(fù)制過來。 例例8-1 用命令按鈕組設(shè)計(jì)用命令按鈕組設(shè)計(jì)例例6-10的的計(jì)算器。計(jì)算器。 設(shè)置命令按鈕組控件設(shè)置命令按鈕組控件Commandgroup1的的Value屬性值為:屬性值為:=“”這一步驟非常重要,如沒有這一步,計(jì)算器的設(shè)置要這一步驟非常重要,如沒有這一步,計(jì)算器的設(shè)置要復(fù)雜得多。復(fù)雜得多。在命令按鈕組控件在命令按鈕組控件

13、Commandgroup1的的Click事件添加下事件添加下列代碼:列代碼:IF Thisform.t AND (asc(This.Value)=48 AND ASC(This.Value)12 This.Parent.label5.Caption=下午下午ELSEThis.Parent.label5.Caption=上午上午ENDIFELSE &如果用戶選擇如果用戶選擇24小時(shí)制小時(shí)制SET HOURS TO 24This.Parent.text2.Width=241ENDIFIF This.Parent.check2.Value=1This.Parent.text2.Value=SUBST

14、R(TTOC(DATETIME(),10,8)ELSE &如果用戶選擇不顯示秒如果用戶選擇不顯示秒This.Parent.text2.Value=SUBSTR(TTOC(DATETIME(),10,5)ENDIF 如圖所示如圖所示2004-12-28制作者:王偉勤制作者:王偉勤13列表框和組合框列表框和組合框 列表框與組合框都有一個(gè)供用戶選項(xiàng)的列表,列表框與組合框都有一個(gè)供用戶選項(xiàng)的列表,但兩者之間有兩個(gè)區(qū)別:但兩者之間有兩個(gè)區(qū)別:(1)列表框任何時(shí)候都顯示它的列表,而組合框平列表框任何時(shí)候都顯示它的列表,而組合框平時(shí)只顯示一個(gè)項(xiàng),待用戶單擊它的向下按鈕后才時(shí)只顯示一個(gè)項(xiàng),待用戶單擊它的向下按

15、鈕后才能顯示可滾動(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)功能。 2004-12-28制作者:王偉勤制作者:王偉勤14列表框控件列表框控件 生成器生成器 列表框生成器含有列表項(xiàng)、布局、樣式、值等列表框生成器含有列表項(xiàng)、布局、樣式、值等4個(gè)選項(xiàng)卡,用于為列表框設(shè)置各種屬性。個(gè)選項(xiàng)卡,用于為列表框設(shè)置各種屬性。列表項(xiàng)選

16、項(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ù)組中的值。 表或視圖中的字段表或視圖中的字段 手工輸入數(shù)據(jù)手工輸入數(shù)據(jù)數(shù)組中的值數(shù)組中的值 樣式選項(xiàng)卡該選項(xiàng)卡用于指定列表框的樣式,所顯示的行該選項(xiàng)卡用于指定列表框的樣式,所顯示的行數(shù),要否遞增搜索。下面僅說明顯示行

17、數(shù)的設(shè)數(shù),要否遞增搜索。下面僅說明顯示行數(shù)的設(shè)置。置?!耙@示的行數(shù)要顯示的行數(shù)”微調(diào)控件用來調(diào)整列表框的微調(diào)控件用來調(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則按象素來指定高度。則按象素來指定高度。 布局選項(xiàng)卡布局選項(xiàng)卡含有布局選項(xiàng)卡含有1個(gè)復(fù)選框和個(gè)復(fù)選框和1個(gè)表格,用于個(gè)表格,用于控制列表框的列寬和顯示??刂屏斜砜虻牧袑捄惋@示。1)“調(diào)整列表框的寬度來顯示所有列

18、調(diào)整列表框的寬度來顯示所有列”復(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)頭右邊的列間隔線來調(diào)整列并可用鼠標(biāo)拖動(dòng)列標(biāo)頭右邊的列間隔線來調(diào)整列寬,相當(dāng)于修改了寬,相當(dāng)于修改了Co1umnWidths屬性。雙擊列屬性。雙擊列標(biāo)頭還可隱藏該列,使得表單執(zhí)行時(shí)該列不顯示,標(biāo)頭還可隱藏該列,使得表單執(zhí)行時(shí)該列不顯示,但其數(shù)據(jù)仍起作用。但其數(shù)據(jù)仍起作用。

19、 值選項(xiàng)卡值選項(xiàng)卡包含兩個(gè)組合框,分別用來指定返值選項(xiàng)卡包含兩個(gè)組合框,分別用來指定返回值的列以及存儲(chǔ)返回值的字段?;刂档牧幸约按鎯?chǔ)返回值的字段。1)“從哪一列中返回值從哪一列中返回值”組合框:該組合框的操作對(duì)組合框:該組合框的操作對(duì)應(yīng)于應(yīng)于BoundColumn屬性。組合框列表中包含字屬性。組合框列表中包含字段名或表示列號(hào)的選項(xiàng),供用戶決定列表框返回段名或表示列號(hào)的選項(xiàng),供用戶決定列表框返回值的字段或列。值的字段或列。2)字段名組合框:該組合框的操作對(duì)應(yīng)于字段名組合框:該組合框的操作對(duì)應(yīng)于ControlSource屬性,用來指定存儲(chǔ)返回值的字屬性,用來指定存儲(chǔ)返回值的字段。段。 控件值源的類

20、型控件值源的類型 列表框和組合框的列表中可以填充各類數(shù)據(jù),列表框和組合框的列表中可以填充各類數(shù)據(jù),在上述的列表框生成器中,已涉及值,數(shù)組在上述的列表框生成器中,已涉及值,數(shù)組和字段和字段3種類型,實(shí)際上共有種類型,實(shí)際上共有9類它們均由類它們均由RowSourceType屬性來指定,屬性來指定,RowSourceType 屬性的可取值如表屬性的可取值如表8-1所示:所示: 列表框的常用屬性列表框的常用屬性 MoverBars:設(shè)置列表框的左側(cè)是否顯示移動(dòng):設(shè)置列表框的左側(cè)是否顯示移動(dòng)按鈕。按鈕。MultiSelect:設(shè)置用戶是否可以同時(shí)在列表中:設(shè)置用戶是否可以同時(shí)在列表中選擇多項(xiàng)。選擇多項(xiàng)

21、。Value:返回列表框中選定的項(xiàng),如果有多列,:返回列表框中選定的項(xiàng),如果有多列,返回由返回由BoundColumn屬性指定的列的內(nèi)容。屬性指定的列的內(nèi)容。DisplayValue:返回列表框中選定的項(xiàng)第一列:返回列表框中選定的項(xiàng)第一列的內(nèi)容。的內(nèi)容。 2004-12-28制作者:王偉勤制作者:王偉勤15例例8-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)簽控件,一新建一個(gè)表單,向表單添加五個(gè)標(biāo)簽控件,一個(gè)列表框控件,并設(shè)置相關(guān)屬性使其外觀如圖個(gè)列表框控件,并設(shè)置相關(guān)屬性使其外觀

22、如圖8-10所示。所示。設(shè)置列表框控件設(shè)置列表框控件List1的屬性的屬性ColumnCount的的值為值為5,說明含有,說明含有5列;屬性列;屬性ColumnWidth的的值為:值為:30,40,50,50,180,確定,確定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),7,4)This.AddListItem(n,i,3)n=STR(LOG(

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

24、器提到的屬性外,組合框的常用屬性還有:性還有: 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ù)。說明:該屬性在設(shè)計(jì)時(shí)不可用,運(yùn)行

25、時(shí)為只讀說明:該屬性在設(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)。說明:說明:(1)本屬性用順序號(hào)來表示某項(xiàng)已被選定。本屬性用順序號(hào)來表示某項(xiàng)已被選定。nIndex則則代表要設(shè)置的順序號(hào),可取代表要設(shè)置的順序號(hào),可取1到到ListCount之間的整之間的整數(shù)之一。數(shù)之一。nIndex的缺省值是的缺省值是0,表示沒有選定列表項(xiàng)。對(duì)于下,表示沒有選定列表項(xiàng)。對(duì)于下拉組

26、合框,當(dāng)列表中沒有與鍵入值相同的項(xiàng)時(shí)就返拉組合框,當(dāng)列表中沒有與鍵入值相同的項(xiàng)時(shí)就返回回0。(2)本屬性設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)可讀寫。本屬性設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)可讀寫。 格式:格式: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.,否則返回否則返回.F.。說明:說明:(1

27、)nIndex表示列表項(xiàng)的顯示順序號(hào);表示列表項(xiàng)的顯示順序號(hào);(2)IExpr可取可取.T.或或.F.之一,用來設(shè)置屬性值;之一,用來設(shè)置屬性值;(3)本屬性設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)可讀寫。本屬性設(shè)計(jì)時(shí)不可用,運(yùn)行時(shí)可讀寫。 2004-12-28制作者:王偉勤制作者:王偉勤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)控

28、件文本框中的最:能輸入到微調(diào)控件文本框中的最小值。小值。SpinnerHighValue:用戶按向上按鈕時(shí)能達(dá)到的最大值。:用戶按向上按鈕時(shí)能達(dá)到的最大值。SpinnerLowValue:用戶按向下按鈕時(shí)能達(dá)到的最小值。:用戶按向下按鈕時(shí)能達(dá)到的最小值。Value:返回用戶設(shè)置的值。:返回用戶設(shè)置的值。 2004-12-28制作者:王偉勤制作者:王偉勤18例例8-5 設(shè)計(jì)新增人事數(shù)據(jù)的表單設(shè)計(jì)新增人事數(shù)據(jù)的表單 要求充分利用新學(xué)的知識(shí),設(shè)計(jì)表單時(shí)盡量為用戶著想,為要求充分利用新學(xué)的知識(shí),設(shè)計(jì)表單時(shí)盡量為用戶著想,為用戶提供方便。用戶提供方便。 設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下:新建一個(gè)名為新建一個(gè)名

29、為RSBWH的表的表單,向表單添加數(shù)據(jù)環(huán)境,單,向表單添加數(shù)據(jù)環(huán)境,數(shù)據(jù)環(huán)境中添加數(shù)據(jù)環(huán)境中添加RSB.DBF和和BMDM.DBF兩個(gè)表文件。注兩個(gè)表文件。注意:必需刪除兩表間的關(guān)系。意:必需刪除兩表間的關(guān)系。并向并向BMDM表添加一條空記表添加一條空記錄。錄。利用數(shù)據(jù)環(huán)境向表單快速添利用數(shù)據(jù)環(huán)境向表單快速添加控件:用鼠標(biāo)指向加控件:用鼠標(biāo)指向RSB表表的字段行,按下鼠標(biāo)左鍵拖的字段行,按下鼠標(biāo)左鍵拖曳到表單的左上角,釋放鼠曳到表單的左上角,釋放鼠標(biāo)則產(chǎn)生如圖所示的表單,標(biāo)則產(chǎn)生如圖所示的表單,默認(rèn)表單不夠大,可拖曳表默認(rèn)表單不夠大,可拖曳表單邊框到足夠大,就可以看單邊框到足夠大,就可以看到所

30、有的控件。到所有的控件。 對(duì)于性別字段的輸入,只有對(duì)于性別字段的輸入,只有兩種可取值,沒有必要讓用兩種可取值,沒有必要讓用戶輸入戶輸入“男男”或或“女女”,可,可利用選項(xiàng)按鈕組控件,如圖利用選項(xiàng)按鈕組控件,如圖8-12所示,由用戶單擊鼠標(biāo)所示,由用戶單擊鼠標(biāo)就可選定就可選定“男男”或或“女女”。所以需將已有的與性別綁定所以需將已有的與性別綁定的文本框刪除。的文本框刪除。操作如下:在表單空表操作如下:在表單空表處單擊鼠標(biāo),取消對(duì)所處單擊鼠標(biāo),取消對(duì)所有控件的選擇,選擇與有控件的選擇,選擇與性別綁定的文本框,按性別綁定的文本框,按Delete鍵刪除。添加一鍵刪除。添加一個(gè)選項(xiàng)按鈕組,設(shè)置成個(gè)選項(xiàng)按

31、鈕組,設(shè)置成如圖如圖8-13右上角所示的右上角所示的外觀。外觀。對(duì)于對(duì)于“部門代碼部門代碼”字段的值要字段的值要利用利用BMDM表的內(nèi)容,刪除與表的內(nèi)容,刪除與“部門代碼部門代碼”綁定的文本框,綁定的文本框,添加一個(gè)組合框控件,在組合添加一個(gè)組合框控件,在組合框上單擊鼠標(biāo)右鍵,選擇【生框上單擊鼠標(biāo)右鍵,選擇【生成器】,對(duì)成器】,對(duì)“列表項(xiàng)列表項(xiàng)”頁面設(shè)頁面設(shè)置成如圖置成如圖8-14所示,對(duì)所示,對(duì)“值值”頁面設(shè)置成如圖頁面設(shè)置成如圖8-15所示,其所示,其它兩個(gè)頁面不變,最后單擊它兩個(gè)頁面不變,最后單擊【確定】確認(rèn)設(shè)置?!敬_定】確認(rèn)設(shè)置。刪除與刪除與“出生日期出生日期”和和“工作日期工作日期”

32、綁定的文本框,保留相應(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)整成圖整成圖8-13第二行的外觀。提示:形第二行的外觀。提示:形狀控件要置后。在組合框上單擊鼠標(biāo)狀控件要置后。在組合框上單擊鼠標(biāo)右鍵,選擇【生成器】,對(duì)右鍵,選擇【生成器】,對(duì)“列表項(xiàng)列表項(xiàng)”頁面設(shè)置成如圖頁面設(shè)置成如圖8-16所示,表格中的所示,表格中的數(shù)一直輸入到數(shù)一直輸入到12,其它三個(gè)頁面不,其它三個(gè)頁面不變,最后單擊【確定】確認(rèn)設(shè)置。并變,最后單擊【確定】確認(rèn)設(shè)置。并設(shè)置兩個(gè)微調(diào)控件的屬性如表設(shè)

33、置兩個(gè)微調(diào)控件的屬性如表8-2所所示示選定輸入年月日的所有控件,如選定輸入年月日的所有控件,如圖圖8-17所示。單擊所示。單擊“復(fù)制復(fù)制”按鈕,按鈕,再單擊再單擊“粘帖粘帖”按鈕,這樣就有按鈕,這樣就有了兩個(gè)輸入日期的控件,再將了兩個(gè)輸入日期的控件,再將Spinner1、Spinner2、Spinner3、Spinner4的的Value屬屬性分別設(shè)置為:性分別設(shè)置為:1960,1,1949,1作為默認(rèn)值。作為默認(rèn)值。 對(duì)于對(duì)于“職稱職稱”字段,也需作處理,字段,也需作處理,為給用戶提供更方便的輸入界面,為給用戶提供更方便的輸入界面,刪除與刪除與“職稱職稱”綁定的文本框,綁定的文本框,添加一個(gè)組

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

35、命令按鈕的外觀設(shè)置成如圖外觀設(shè)置成如圖8-13所示,相片所示,相片標(biāo)簽下的命令按鈕形狀,并設(shè)置標(biāo)簽下的命令按鈕形狀,并設(shè)置該命令按鈕的該命令按鈕的Click事件的代碼為:事件的代碼為:filename=GETPICT() &利用利用getpict()函數(shù)打開選擇圖函數(shù)打開選擇圖片的對(duì)話框片的對(duì)話框APPEND GENERAL 相片相片 FROM &filename &將選將選取的圖片放到當(dāng)前記錄的相片字段中取的圖片放到當(dāng)前記錄的相片字段中Thisform.Refresh() &刷新表單的顯示,目的是讓剛選刷新表單的顯示,目的是讓剛選的圖顯示出來的圖顯示出來 調(diào)整各控件的位置如圖調(diào)整各控件的位置

36、如圖8-13所示,添加兩個(gè)線條控件、所示,添加兩個(gè)線條控件、兩個(gè)命令按鈕控件,線條的兩個(gè)命令按鈕控件,線條的顏色一條設(shè)置成深灰、一條顏色一條設(shè)置成深灰、一條設(shè)置成白色,兩條緊埃著,設(shè)置成白色,兩條緊埃著,形成如圖形成如圖8-13所示的立體效所示的立體效果。命令按鈕的外觀設(shè)置成果。命令按鈕的外觀設(shè)置成如圖如圖8-13所示。所示。添加控件代碼:添加控件代碼:Init事件代碼事件代碼 “保存保存”按鈕的按鈕的Click事件代碼事件代碼 “取消退出取消退出”命令按鈕的命令按鈕的Click事件代碼事件代碼 四個(gè)組合框控件的四個(gè)組合框控件的Init事件代碼事件代碼 選項(xiàng)按鈕組的選項(xiàng)按鈕組的Click事件的

37、代碼事件的代碼 與職稱綁定組合框控件的與職稱綁定組合框控件的LostFocus事件的代碼事件的代碼 2004-12-28制作者:王偉勤制作者:王偉勤19表格控件表格控件 Visual FoxPro提供了一個(gè)強(qiáng)大的工具來顯示提供了一個(gè)強(qiáng)大的工具來顯示和操作多行數(shù)據(jù),這就是表格。表格是一個(gè)和操作多行數(shù)據(jù),這就是表格。表格是一個(gè)容器對(duì)象,像表單集能包含多個(gè)表單一樣,容器對(duì)象,像表單集能包含多個(gè)表單一樣,它可以包含多個(gè)列。另外,列可以包含表頭它可以包含多個(gè)列。另外,列可以包含表頭和控件,并且每一部分都有自己的屬性、事和控件,并且每一部分都有自己的屬性、事件和方法。件和方法。 表格的組成表格的組成 在表

38、單窗口添加表格控件在表單窗口添加表格控件 表格編輯表格編輯 表格的常用屬性表格的常用屬性 用表格控件建立一對(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è)單元格都可用此控件來顯示字件,該列中的每個(gè)單元格都可用此控件來顯

39、示字段值。列控件默認(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)題。此外還有下面兩種方法。a. 用代碼修改:例如用代碼修改:例如Thisform.Gridl.Column2.Headerl.Caption=”名稱名稱”,可將表格中第可將表格中第2列的標(biāo)題修改為:名稱。列的標(biāo)題修改為:名稱

40、。b. 在屬性窗口對(duì)象列表中按照從容器到對(duì)象的次序,在屬性窗口對(duì)象列表中按照從容器到對(duì)象的次序,找到找到Headerl對(duì)象后,選擇該對(duì)象作為當(dāng)前對(duì)象,然對(duì)象后,選擇該對(duì)象作為當(dāng)前對(duì)象,然后修改其后修改其Caption屬性。屬性。 調(diào)整表格的行高與列寬調(diào)整表格的行高與列寬a. 調(diào)整列寬:表格激活后,將鼠標(biāo)指針置于表格兩列調(diào)整列寬:表格激活后,將鼠標(biāo)指針置于表格兩列標(biāo)題之間,這時(shí)指針變?yōu)閹в凶笥译p向箭頭的豎條,標(biāo)題之間,這時(shí)指針變?yōu)閹в凶笥译p向箭頭的豎條,便可左右拖動(dòng)列線來改變列寬另一種方法是設(shè)置列便可左右拖動(dòng)列線來改變列寬另一種方法是設(shè)置列的的Width屬性,例如令屬性,例如令Thisform.

41、Gridl.Columnl.Width=50b. 調(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)行線來改變高度。下雙向箭頭的橫條后,即可上下拖動(dòng)行線來改變高度。調(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)行線來改變行高。行首按鈕的下框線處,然后上下拖動(dòng)行線

42、來改變行高。此時(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. 打開表格生成器,在表格項(xiàng)選項(xiàng)卡中可增加或減少字打開表格生成器,在表格項(xiàng)

43、選項(xiàng)卡中可增加或減少字段。段。c. 要?jiǎng)h除列,可在屬性窗口中選定某列后按要?jiǎng)h除列,可在屬性窗口中選定某列后按Del健。健。列屬性列屬性ControlSource:指定某表的某字段作為本列的數(shù)據(jù):指定某表的某字段作為本列的數(shù)據(jù)源。源。CurrentControl:為列指定控件。:為列指定控件。Spares:取值為:取值為.T.(默認(rèn)值默認(rèn)值)時(shí),在列表中只有選中的時(shí),在列表中只有選中的單元格以單元格以CurrentControl指定的控件顯示,其它單元指定的控件顯示,其它單元格仍以文本框顯示。取值為格仍以文本框顯示。取值為.F.時(shí),該列的所有單元格時(shí),該列的所有單元格均以均以CurrentCon

44、trol指定的控件顯示。指定的控件顯示。 在數(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)到表單里。表格屬性表格屬性ChildOrder:與父表的主關(guān)鍵字相連接的子表的外部:與父表的主關(guān)鍵字相連接的子表的外部關(guān)鍵字。關(guān)鍵字。ColumnCount:列數(shù)。如果:列數(shù)。如果ColumnCount設(shè)置為設(shè)置為-1,表格的列數(shù)與表格的列數(shù)與RecordSource中的字段數(shù)相同。中的字段數(shù)相同。Li

45、nkMaster:在表格中顯示的子記錄的父表。:在表格中顯示的子記錄的父表。RecordSource:顯示在表格中的數(shù)據(jù)源。:顯示在表格中的數(shù)據(jù)源。RecordSourceType:顯示在表格中的數(shù)據(jù)類型。:顯示在表格中的數(shù)據(jù)類型。AllowAddNew:該屬性為:該屬性為.T.時(shí)允許用戶向表格中的時(shí)允許用戶向表格中的表添加記錄。該屬性為表添加記錄。該屬性為.F.(默認(rèn)值默認(rèn)值)時(shí),只能用時(shí),只能用APPEND BLANK或或INSERT命令來添加記錄。命令來添加記錄。2004-12-28制作者:王偉勤制作者:王偉勤20例例8-6 設(shè)計(jì)一個(gè)按部門瀏覽人事表設(shè)計(jì)一個(gè)按部門瀏覽人事表記錄的表單。記

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

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

48、“下一條下一條”命令按鈕命令按鈕SKIP &讓表指針向后跳一步讓表指針向后跳一步ENDIFDO CASECASE RECNO()=1 &如果表指針指向第一條記錄如果表指針指向第一條記錄 This.Command1.Enabled=.f. &設(shè)置設(shè)置“上一條上一條”命令按鈕為不可命令按鈕為不可用用CASE RECNO()=RECCOUNT() &如果表指針指向最后一條記錄如果表指針指向最后一條記錄 This.Command2.Enabled=.f. &設(shè)置設(shè)置“下一條下一條”命令按鈕為不可命令按鈕為不可用用OTHERWISE &如果表指針指向中間某條記錄如果表指針指向中間某條記錄 This.Co

49、mmand1.Enabled=.t. &設(shè)置設(shè)置“上一條上一條”命令按鈕為可用命令按鈕為可用 This.Command2.Enabled=.t. &設(shè)置設(shè)置“下一條下一條”命令按鈕為可用命令按鈕為可用ENDCASEThisform.Refresh &刷新表單的顯示刷新表單的顯示 最后以最后以fzbd.scx為文件名為文件名保存表單。然后執(zhí)行表單,保存表單。然后執(zhí)行表單,當(dāng)用戶單擊下一條或上一當(dāng)用戶單擊下一條或上一條時(shí),對(duì)于文本框中顯示條時(shí),對(duì)于文本框中顯示的一個(gè)父表的部門名稱,的一個(gè)父表的部門名稱,在子表中將列出所有屬于在子表中將列出所有屬于該部門的職工記錄信息,該部門的職工記錄信息,如圖如圖

50、8-21所示。這是由于所示。這是由于我們?cè)趦蓚€(gè)表之間建立了我們?cè)趦蓚€(gè)表之間建立了一對(duì)多的關(guān)系一對(duì)多的關(guān)系。2004-12-28制作者:王偉勤制作者:王偉勤21頁框控件頁框控件 頁框是一個(gè)包含頁面的容器對(duì)象,用戶可在頁框是一個(gè)包含頁面的容器對(duì)象,用戶可在頁框中定義多個(gè)頁面,以生成帶選項(xiàng)卡的對(duì)頁框中定義多個(gè)頁面,以生成帶選項(xiàng)卡的對(duì)話框。話框。 在表單中添加頁框控件的步驟為:在表單中添加頁框控件的步驟為:在表單控制工具欄中單頁框控件按鈕;在表單控制工具欄中單頁框控件按鈕;移動(dòng)鼠標(biāo)指針到表單中,單擊并拖拽到合適的大移動(dòng)鼠標(biāo)指針到表單中,單擊并拖拽到合適的大??;?。豁摽虻某S脤傩杂校喉摽虻某S脤傩杂校篜

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

52、大小。所選頁面中,單擊并拖拽到合適大小。 2004-12-28制作者:王偉勤制作者:王偉勤22例例8-7 建立一個(gè)建立一個(gè) 及及 所示含有兩所示含有兩個(gè)頁面的增加及瀏覽人事數(shù)據(jù)的表單。個(gè)頁面的增加及瀏覽人事數(shù)據(jù)的表單。 如圖如圖1圖圖2設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下:創(chuàng)建一個(gè)新表單,向新表單中添加一個(gè)頁框控件,向表單添創(chuàng)建一個(gè)新表單,向新表單中添加一個(gè)頁框控件,向表單添加數(shù)據(jù)環(huán)境,數(shù)據(jù)環(huán)保中添加加數(shù)據(jù)環(huán)境,數(shù)據(jù)環(huán)保中添加RSB.DBF和和BMDM.DBF兩個(gè)兩個(gè)表文件。注意:必需刪除兩表間的關(guān)系。表文件。注意:必需刪除兩表間的關(guān)系。打開打開RSBWH表單,選中所有控件,單擊常用工具欄的【復(fù)表單,選

53、中所有控件,單擊常用工具欄的【復(fù)制】按鈕,在頁框控件上單擊鼠標(biāo)右鍵,選擇【編輯】菜單制】按鈕,在頁框控件上單擊鼠標(biāo)右鍵,選擇【編輯】菜單項(xiàng),單擊常用工具欄的【粘貼】按鈕,并調(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)境窗口顯示出來,單擊頁框的第二個(gè)頁面。

54、拖拽將數(shù)據(jù)環(huán)境窗口顯示出來,單擊頁框的第二個(gè)頁面。拖拽RSB表(鼠標(biāo)指針指向表(鼠標(biāo)指針指向RSB的標(biāo)題行,然后單擊并拖拽)到的標(biāo)題行,然后單擊并拖拽)到頁框的第二個(gè)頁面上,并調(diào)整表格到合適的位置,如圖頁框的第二個(gè)頁面上,并調(diào)整表格到合適的位置,如圖2所示。所示。添加添加Page1的的Click事件的代碼為:事件的代碼為:GO BOTTOM &確保回到頁面確?;氐巾撁?時(shí)表指針指向最后一條記錄。時(shí)表指針指向最后一條記錄。以以ykbd為文件名保存該表單,然后執(zhí)行表單,將出現(xiàn)如圖為文件名保存該表單,然后執(zhí)行表單,將出現(xiàn)如圖1所示的表單,在表單中單擊第二個(gè)頁面,將顯示一個(gè)表格,所示的表單,在表單中單

55、擊第二個(gè)頁面,將顯示一個(gè)表格,如圖如圖2所示。表格中列出表的記錄。所示。表格中列出表的記錄。 2004-12-28制作者:王偉勤制作者:王偉勤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)因特網(wǎng)瀏覽器,并根據(jù)指定的網(wǎng)址進(jìn)入網(wǎng)絡(luò)的站點(diǎn)來顯示網(wǎng)頁。根據(jù)指定的網(wǎng)址進(jìn)入網(wǎng)絡(luò)的站點(diǎn)來顯示網(wǎng)頁。 2004-12-28制作者:王偉勤制作者:王偉勤24 在表單上添加超級(jí)鏈接在表單上添加超級(jí)鏈接控件和命令按鈕控件各一個(gè)。

56、控件和命令按鈕控件各一個(gè)。Commandl的的Caption屬性設(shè)置為:屬性設(shè)置為:搜狐搜狐Commandl的的Click事件代碼編寫如事件代碼編寫如下:下:Thisform.Hyperlinkl.NavigateTo(“http:/”) &Hyperlinkl為超級(jí)鏈接控件的為超級(jí)鏈接控件的Name,括號(hào)內(nèi)為搜狐網(wǎng)站的網(wǎng)址,括號(hào)內(nèi)為搜狐網(wǎng)站的網(wǎng)址保存表單并運(yùn)行,表單名稱為保存表單并運(yùn)行,表單名稱為“cjlj”。 例例8-8 在表單上創(chuàng)建一個(gè)命令按鈕,要求表單運(yùn)行時(shí)在表單上創(chuàng)建一個(gè)命令按鈕,要求表單運(yùn)行時(shí)單擊該命令按鈕即可顯示搜狐網(wǎng)站的主頁。單擊該命令按鈕即可顯示搜狐網(wǎng)站的主頁。 如圖所示如圖

57、所示2004-12-28制作者:王偉勤制作者:王偉勤25ActiveX控件控件 基本概念基本概念向表單添加控件或?qū)ο笙虮韱翁砑涌丶驅(qū)ο?“新建新建”選項(xiàng)按鈕選項(xiàng)按鈕 “由文件創(chuàng)建由文件創(chuàng)建”選項(xiàng)按鈕選項(xiàng)按鈕“創(chuàng)建控件創(chuàng)建控件”選項(xiàng)按鈕選項(xiàng)按鈕 向表單控件工具欄添加向表單控件工具欄添加AttiveX控件控件 添加步驟添加步驟 顯示方法顯示方法 刪除方法刪除方法 ActiveX原來是微軟公司提出的一組技術(shù)標(biāo)準(zhǔn),其中也原來是微軟公司提出的一組技術(shù)標(biāo)準(zhǔn),其中也包括控件的技術(shù)標(biāo)準(zhǔn)。所謂包括控件的技術(shù)標(biāo)準(zhǔn)。所謂ActiveX控件,就是指符合控件,就是指符合ActiveX標(biāo)準(zhǔn)的控件,其數(shù)量現(xiàn)已超過了標(biāo)準(zhǔn)的

58、控件,其數(shù)量現(xiàn)已超過了1000種,例如種,例如在在Windows的的SYSTEM文件夾中含有大量帶文件夾中含有大量帶.OCX擴(kuò)展擴(kuò)展名的文件,就都屬于名的文件,就都屬于ActiveX控件。在本章前幾節(jié)介紹控件。在本章前幾節(jié)介紹的控件,僅是的控件,僅是ActiveX控件中常見于控件中常見于Visual FoxPro界面界面的一小部分。的一小部分。為了使為了使Visual FoxPro能夠在需要時(shí)利用更多的能夠在需要時(shí)利用更多的ActiveX控件,在控件,在“表單控件表單控件”工具欄中設(shè)置了一個(gè)英文名為工具欄中設(shè)置了一個(gè)英文名為Olecontrol的的ActiveX控件按鈕控件按鈕“”“”。 從從

59、“表單控件表單控件”工具欄中選定工具欄中選定ActiveX控件按鈕控件按鈕“”“”,在表單中單擊鼠標(biāo),屏幕上將彈出一個(gè)如圖在表單中單擊鼠標(biāo),屏幕上將彈出一個(gè)如圖8-25所示的所示的“插入對(duì)象插入對(duì)象”對(duì)話框。該控件的功能主要由對(duì)話框中的對(duì)話框。該控件的功能主要由對(duì)話框中的3個(gè)選項(xiàng)按鈕決定,【新建】與【由文件創(chuàng)建】選項(xiàng)按個(gè)選項(xiàng)按鈕決定,【新建】與【由文件創(chuàng)建】選項(xiàng)按鈕用于添加鈕用于添加OLE對(duì)象,【創(chuàng)建控件】選項(xiàng)按鈕則用于在對(duì)象,【創(chuàng)建控件】選項(xiàng)按鈕則用于在表單中添加一個(gè)表單中添加一個(gè)ActiveX控件??丶?。選定選定“新建新建”選項(xiàng)表示將在表單上新建一個(gè)對(duì)象,這種選項(xiàng)表示將在表單上新建一個(gè)對(duì)象

60、,這種對(duì)象是某種文件類型的文檔。在插入對(duì)象對(duì)話框的對(duì)象對(duì)象是某種文件類型的文檔。在插入對(duì)象對(duì)話框的對(duì)象類型列表中包含文檔,圖象、聲音等多種文件類型,用類型列表中包含文檔,圖象、聲音等多種文件類型,用戶選定其中一項(xiàng)并按確定按鈕后,戶選定其中一項(xiàng)并按確定按鈕后,Visual FoxPro將自將自動(dòng)打開這種類型的應(yīng)用程序,供用戶輸入文檔的內(nèi)容。動(dòng)打開這種類型的應(yīng)用程序,供用戶輸入文檔的內(nèi)容。對(duì)話框中有一個(gè)【顯示為圖標(biāo)】復(fù)選框,可用來確定新對(duì)話框中有一個(gè)【顯示為圖標(biāo)】復(fù)選框,可用來確定新建的對(duì)象以圖標(biāo)顯示,還是直接顯示文檔的內(nèi)容。若選建的對(duì)象以圖標(biāo)顯示,還是直接顯示文檔的內(nèi)容。若選定該復(fù)選框,該文檔在

溫馨提示

  • 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. 人人文庫(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)論