第9章 表單 未校對_第1頁
第9章 表單 未校對_第2頁
第9章 表單 未校對_第3頁
第9章 表單 未校對_第4頁
第9章 表單 未校對_第5頁
已閱讀5頁,還剩100頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

155

第9章表單

表單(Form)也稱為屏幕(Screen)或窗口(Window)。它包含的各種控件、由表單所

創(chuàng)建的對象,為數(shù)據(jù)庫信息的顯示、輸入和編輯提供了簡單方便的方法。表單的設計足可視

化編程的基礎。本章將介紹在VinualFoxPro6.0環(huán)境下創(chuàng)建、修改、修飾、運行表單,以及

如何向表單添加控件,如何設計表單模塊等內(nèi)容。缺省的表單文件的擴展名為.sex。

9.1創(chuàng)建表單

在VisualFoxPro6.0中,創(chuàng)建表單的方法有三種。使用表單向導、使用表單設計器、使

用“新建”工具。三種方法各有千秋。第1種方法通過回答系統(tǒng)提出的各種問題,引導初學

者,,一步一個腳印,到達勝利的彼岸”:第2種方法不但可以創(chuàng)建新表單,還可以修改已有

的老表單:第3種方法則呵以快速創(chuàng)建一個較簡單的表單。

9.1.1利用表單向導創(chuàng)建表單

用表單向導既可以創(chuàng)建單表表單,又可以創(chuàng)建一對多數(shù)據(jù)表表單。

【例9.1]根據(jù)數(shù)據(jù)表ksqkb.dbt用表單向導創(chuàng)建一個單表表單“表單1”。

操作步驟如下:

⑴單擊VisualFoxPro6,0主窗口工具欄的“新建”按鈕,進入“新建”對話框。

(2)在“新建”對話框,選擇“表單”選項,再單擊“向導”按鈕.進入“向導選取”

對話框,如圖9-1所示。

(3)選取“表單向導”,單擊“確定”按鈕,進入“表單向導”窗口的“步驟1.字段選

取”對話框。

(4)在“步驟1一字段選取”對話框的“數(shù)據(jù)庫和表”欄,選取數(shù)據(jù)表ksqkb.dbf,將“可

用字段,,欄中的各個字段全部轉入“選定字段”欄中,結果如圖9-2所示。

圈9-1向導選取

圈90表單向導步驟1.字段選取

(5)單擊“下一步”按鈕,進入“表單向導。的“步驟2.選擇表單式樣”對話框。該

對話框的“樣式”欄給出了“標準”等9種按鈕樣式供用戶選擇,“按鈕類型”列表給出了

“文本按鈕”等4類按鈕類型供用戶選擇。此處將“按鈕類型”選擇為“文本按鈕”,將“樣

156

式”選擇為“浮雕式”,如圖9-3所示。

(6)單擊“下一步”按鈕,進入“表單向導”的“步驟3-排序次序”對話框。在該對

話框的“可用的字段或索引標識”欄中選擇字段“考號”,將它添加到“選定字段”欄中,

圖9-4所示。

圈9-3表單向導步驟2,選擇喪單樣式圖g-4表單向導步驟3.排序次序

(7)單擊“下一步”按鈕,以考號的升序建立表索引,井進入了“表單向導”的“步驟

4完成”對話框。在該窗口的“請輸入表單標題”欄輸入標題“高考考生情況統(tǒng)計表”。為

了保存并觀察表單的運行結果,選擇“保存井運行表單”,如圖9-5所示。

(8)單擊“完成”按鈕,彈出“另存為”窗口,在“保存表單為”欄中輸入“表單1”,

單擊“保存”按鈕,則表單創(chuàng)建成功并運行,結果如圖9-6所示。

圖9-5表單向導步驟4J完成

H9-6“表單I”運行結果

【例9.2]用表單向導創(chuàng)建一個一對多數(shù)據(jù)表的表單“表單2”。

操作步驟如下:

⑴同例9,1中的步驟⑴和(2)-樣,進入圖9-1所示的“向導選取”對話框。

⑵選取“一對多表單向導”,單擊“確定”按鈕,進入“一對多表單向導”的“步驟

1--從父表中選定字段”對話框。通過“數(shù)據(jù)庫和表”欄右側的選擇按鈕或“…”按鈕.打

開數(shù)據(jù)庫gksjk.dbc(該庫事先已經(jīng)以字段“考號”建立了各表之間的關聯(lián),其中zhqkb.dbf

為父庫),選擇zhqkb.dbf作為父表,井將“可用字段”中列出的該表的有關字段轉入“選定

157

段”欄中,如圖9-7所示;

(3)單擊“下一步”按鈕,進入“一一對多表單向導”的“步驟2-從于表中選定字段”

對話框。在該對話框中選擇數(shù)據(jù)表Iqyxb.dbf為予表,并將有關字段轉入“選定字段”列表

框,

如圖9-8所示。

圖9-7步驟1'從父表中選定字段圖9.8步驟2.從子表中選定字段

(4)單擊“F?步”按鈕,進入“一對多表單向導”的“步驟3—建立表之間的關系”

對話框。選擇父、子兩表中的關聯(lián)字段“考號”,如圖9-9所示。

(5)單擊“下一步”按鈕,進入“一對多表單向導”的“步驟

框。此處在“按鈕類型”欄選擇“圖片按鈕”,在“樣式”欄選擇“新

4一選擇表單樣式”對話

奇式",如圖9-J0所示。

國9-9步驟3_建立襄之間的關系圖9-10步瞿#4遺{蘋表單樣式

(6)單擊-F-步”按鈕,進入“一對多表單向導”的“步驟5.排序次序”對話框。

由于父、子兩表事先己經(jīng)按字段“考號”建立了關聯(lián),因此可直接單擊“下一步”按鈕進入

“一對多袁單向導”的卻步驟6-完成”對話框。

(7)在“一對多表單向導”的“步驟6-完成”對話框,在“請輸入表單標題”欄輸入

標題“高考考生錄取情況統(tǒng)計表”。選擇“保存表單以各將來使用",如圖9-11所示。

(8)單擊“預覽”按鈕,觀察表單形式,如圖9-12所示。

(9)單擊“返回向導”,返回“步驟6一完成”。再單擊“完成”按鈕,彈出“另存為”

對話框,在“保存表單為”欄中輸入“表單2”,單擊“保存”按鈕,則一對多數(shù)據(jù)表表單

創(chuàng)

建成功。

若要運行該表單,可在命令窗口輸入:

DOFORM表單2.scx

此時首先進入了第1條記錄,同時表單底部提供的各種命令按鈕可以使用,以便用戶操

158

用“新建”工且。三種方法各有千秋。第1種方法通過回答系統(tǒng)提出的各

種問題,引導初學

者“一步一個腳印,到達勝利的彼岸”:第2種方法不但町以創(chuàng)建新表單,

還可以修改已有的

老表單:第3種方法則呵以快速創(chuàng)建…個較簡單的表單。

9.1.1利用表單向導創(chuàng)建表單

用表單向導既可以創(chuàng)建單表表單,又可以創(chuàng)建一對多數(shù)據(jù)表表單。

【例9.1]根據(jù)數(shù)據(jù)表1<^1<1).如£用表單向導創(chuàng)建一個單表表單"表

單1”。

操作步驟如下:

(1)單擊VisualFoxPro6,0主窗口工具欄的“新建”按鈕,進入“新建”

對話框。

(2)在“新建”對話框,選擇“表單”選項,再單擊“向導”按鈕.進

159

入“向導選取”對話框,如圖9-1所示。

(3)選取“表單向導”,單擊“確定”按鈕,進入“表單向導”窗口的

“步驟1.字段選

取”對話框。

(4)在“步驟1一字段選取”對話框的“數(shù)據(jù)庫和表”欄,選取數(shù)據(jù)表

ksqkb.dbf,將“可

用字段”欄中的各個字段全部轉入“選定字段”欄中,結果如圖9-2所示。

圈9-1向導選取

圈90表單向導步驟1.字段選取

第9章袁單

145

(5)單擊“下一步”按鈕,進入“表單向導。的“步驟2.選擇表單式

160

樣”對話框。該

對話框的“樣式”欄給出了“標準”等9種按鈕樣式供用戶選擇,“按鈕

類型”列表給出了“文

本按鈕”等4類按鈕類型供用戶選擇。此處將“按鈕類型”選擇為“文本

按鈕”,將“樣式”

選擇為“浮雕式”,如斟9-3所示。

(6)單擊“下一步”按鈕,進入“表單向導”的“步驟3-排序次序”對

話框。在該對

話框的“可用的字段或索引標識”欄中選擇字段“考號”,將它添加到“選

定字段”欄中,如

圖9-4所示。

圈9-3表單向導步驟2,選擇喪單樣式圖g-4表單向導步驟3.排序次

161

(7)單擊“下一步”按鈕,以考號的升序建立表索引,井進入了“表單

向導”的“步驟

4一完成”對話框。在該窗口的“請輸入表單標題”欄輸入標題“高考考

生情況統(tǒng)計表”。為了

保存并觀察表單的運行結果,選擇“保存井運行表單”,如圖9-5所示。

(8)單擊“完成”按鈕,彈出“另存為”窗口,在“保存表單為"欄中

輸入“表單1”,

單擊“保存”按鈕,則表單創(chuàng)建成功井運行,結果如國9-6所示。

圖9-5表單向導步驟4J完成

周9-6“表單I”運行結果

【例9.2]用表單向導創(chuàng)建一個一對多數(shù)據(jù)衰的表單“表單2”。

操作步驟如下:

162

(D同例9,1中的步驟⑴和(2)-樣,進入圈9-1所示的“向導選取”對

話框。

(2)選取“一對多表單向導”,單擊“確定”按鈕,進入“?對多表單

向導”的“步驟

1一從父表中選定字段”對話框。通過“數(shù)據(jù)庫和表”欄右側的選擇按鈕

或“…”按鈕.打開

數(shù)據(jù)庫gksjkdbc(該庫事先已經(jīng)以字段“考號”建立了各表之間的關聯(lián),

其中zhqkb.dbf為

父庫),選擇zhqkb.dbf作為父表,井將“可用字段”中列出的該表的有關

字段轉入“選定字

146啊sUalFoxPro6.0程序設計教程

_ULL1,

163

段”欄中,如圖9-7所示;

(3)單擊“下一步”按鈕,進入“一一對多表單向導”的“步驟2-從于

表中選定字段”

對話框。在該對話框中選擇數(shù)據(jù)表Iqyxb.dbf為予表,并將有關字段轉入

“選定字段”列表框,

如圖9-8所示。

圖9-7步驟1'從父表中選定字段圖9.8步驟2.從子表中選定字

(4)單擊“F?步”按鈕,進入“一對多表單向導”的“步驟3—建立

表之間的關系”

對話框。選擇父、子兩表中的關聯(lián)字段“考號”,如圖9-9所示。

(5)單擊“下一步”按鈕,進入“一對多表單向導”的“步驟

框。此處在“按鈕類型”欄選擇“圖片按鈕”,在“樣式”欄選擇“新

164

4一選擇表單樣式”對話

奇式",如圖9-J0所示。

國9-9步驟3_建立襄之間的關系圖9-10步慨4遺{蘋表單樣式

(6)單擊-F-步”按鈕,進入“一對多表單向導”的“步驟5.排序次序”

對話框。

由于父、子兩表事先已經(jīng)按字段“考號”建立了關聯(lián),因此可直接單擊“下

一步”按鈕進入

“一對多袁單向導”的卻步驟6-完成”對話框。

(7)在“一對多表單向導”的“步驟6-完成”對話框,在“請輸入表單

標題”欄輸入

標題“高考考生錄取情況統(tǒng)計表”。選擇“保存表單以各將來使用”,如圖

9-11所示。

(8)單擊“預覽”按鈕,觀察表單形式,如圖9-12所示。

165

(9)單擊“返回向導”,返回“步驟6—完成:再單擊“完成”按鈕,

彈出“另存為”

對話框,在“保存表單為”欄中輸入“表單2”,單擊“保存”按鈕,則一

對多數(shù)據(jù)表表單創(chuàng)

建成功。

若要運行該表單,可在命令窗口輸入:

DOFORM表單2,scx

此時首先進入了第1條記錄,同時表單底部提供的各種命令按鈕可以

使用,以便用戶操

作表單。

型9-11步驟6.完戰(zhàn)

圖9-12表單2效果預覽

166

9.1.2利用表單設計器創(chuàng)建表單

表單設計器具有強大的表單設計功能。它不但可以設計新表單,還可

以修改舊表單,對

表單進行各種修飾。它提供的快速表單命令,使得創(chuàng)建表單的工作變得更

快捷。

在命令方式下,使用表單設計器創(chuàng)建表單的命令是:

CREATEFORM<fdrmname>

例如,要用表單設計器創(chuàng)建一個名為“表單3.scx”的表單,則在命

令窗口輸入:

CREATEFORM表單3

下面舉例介紹利用表單設計器刨建表單的步驟。

【例9.3]利用表單設計器創(chuàng)建表單“表單3”。

167

操作步驟如下:

(1)單擊VisualFoxPro6.O主窗口工具欄中的“新建”按鈕,彈出“新

建”對話框。在

“文件類型”列表框選擇“表單”,單擊“新建文件押按鈕,進入“表單

設計器押窗口,如圖

9-13所示。

(2)使用“快速表單”功能選定需要的數(shù)據(jù)表或視圖中的字段。

①打開主菜單欄的盯表單”子菜單,選擇“快速表單”選項(或者在

“表單設計器”窗

口使用快捷鍵,選擇“生成器”選項),彈出“表單生成器”對話框。

②在“表單生成器”對話框的“數(shù)據(jù)庫和表”欄中,選取需要的庫、

表或視圖,將“可

用字段”中的有關宇段轉入“選定字段斗欄中。這里我們選用數(shù)據(jù)庫

168

OKSJK.DBC中的視圖

GKSJK.VUE,將它的字段全部轉入“選定字段”欄中,如圖9-14所示。

③單擊“確定”按鈕,彈出表單輪廓,在“屬性”欄選擇表單標題

Caption,輸入“高

考情況表”,如圖9-情所示。

④關閉“表單生成器”,彈出“另存為”對話框后,在“保存表單為"

欄輸入“表單3”,

單擊“保存”按鈕,則表單3.scx快速創(chuàng)建完成。

為r觀察創(chuàng)建效果,在命令窗口輸入:

DoFORM表單3

運行結果如圖9-16所示??梢钥吹?,該表單僅顯示出第一條記錄,

其他記錄卻無法顯示,148

169

1fisualFoxPrO6.0程序設計教程

同時還可以看到,屏幕顯得比較凌亂,各字段并不一定顯示在合適的地方。

究其原因是創(chuàng)建

表單時,我們并沒有給它添加任何控件,使得用戶對它無法進行更進一步

的操作。這些正是

我們要對表單進行修改、修飾的理由。

圖9-11豪單設計赫窗口

躅9-14表單生成囂射話框

匿9-15喪單3的鰭構

圈乒16最單3的運行結果

170

9.2表單的修改

無論是利用表單向導還是利用表單設計器創(chuàng)建的表單,只要對它感到不

滿意都可以使用

“表單設計器”進行修改。在命令方式下,修改表單的命令格式是:

MODIFYFORM<Formname>.scx

93添加控件及屬性

利用“表單設計器”,通過它提供的“表單控件”工具欄可以很容易地

添加控件、移動和

調整控件的大小、賦值和刪除控件、對齊控件、修改Tab鍵的次序。

“表單控件”工具欄如圖9.17所示。

表9.1列出了各種表單控件按鈕的作用。

單控件工具欄

171

表9.1裹單控件工具欄按鈕功能一覽裹

丹創(chuàng)符

形狀

0L弊定塾

砸耀

凰像

就蠅

組合框

通壤按忸組

前奇捧鈕螞

文奉框

172

鷹暑燕

t超蛆鏈接

▲T寄塾

AI線條

tOLE存囂

t寢格衰

,,

▲T劃襄推*

t復選框

十命令按妞蛆

173

f螭情框

ti毓

▲?-選定劉藏

按鈕I作用

I選定對妻I移動和政變拉件的大小,取消對其他拉制對象的

選取狀志|

174

I查看婁I胃j來選擇顯示一十已注冊的糞庫,當選擇一十

類后,工具欄只顯示選定類庫中糞的圖標I

I標簽|主要Hj來顯示文本,在運行時可以通過對方法

的調用來動態(tài)地更改文本I

I立本框I用于顯示井蝙輯宇股或內(nèi)存變量及其他部分所

需的信息I

輔輯框1|用來編輯較長數(shù)據(jù),在備注型字段中放置說明等

175

I命爭按襁|用來創(chuàng)建單十命令按鈕,通常用于觸發(fā)一十事

件,如移動記錄指針等I

命令按鈕蛆|刨建一組命母按鈕,可咀作為單十或者一蛆操作

I選疆按鈕組|創(chuàng)建蛆單遺按鈕.讓用戶從中選擇一個按鈕,圓

中有點則表示選中I

176

I復選框I

I

II設置復選框,用來代表邏輯鼓據(jù)類型的宇段。讓

用戶根據(jù)需要自行指定,框中顯示別I

II選中,表示為真,框中空白則未連中,表示為假

9章表單

表單fForm)也稱為屏幕(Screen)或窗口(Window)。它包含的各種控件、

由表單所

創(chuàng)建的對象,為數(shù)據(jù)庫信息的顯示、輸入和編輯提供了簡單方便的方法。

表單的設計足可視

化編種的基礎。本章將介紹在VinualFoxPrO6.0環(huán)境下創(chuàng)建、修馥、修飾、

運行袁單,以廈

177

如何向表單添加控件,如何設計表單模塊等內(nèi)容。缺省的表單文件的擴展

名為.SCXo

9.1創(chuàng)建表單

在VisualFoxPro6.0中,創(chuàng)建表單的方法有三種。使用表單向導、使

用表單設計器、使

用“新建”工且。三種方法各有千秋。第1種方法通過回答系統(tǒng)提出的各

種問題,引導初學

者“一步一個腳印,到達勝利的彼岸”:第2種方法不但町以創(chuàng)建新表單,

還可以修改已有的

老表單:第3種方法則呵以快速創(chuàng)建…個較簡單的表單。

9.1.1利用表單向導創(chuàng)建表單

用表單向導既可以創(chuàng)建單表表單,又可以創(chuàng)建一對多數(shù)據(jù)表表單。

【例9.1]根據(jù)數(shù)據(jù)表ksqkb.dbf,用表單向導創(chuàng)建一個單表表單"表

178

單1”。

操作步驟如下:

(1)單擊VisualFoxPro6,0主窗口工具欄的“新建”按鈕,進入“新建”

對話框。

(2)在“新建”對話框,選擇“表單”選項,再單擊“向導”按鈕.進

入“向導選取”

對話框,如圖9-1所示。

(3)選取“表單向導”,單擊“確定”按鈕,'進入“表單向導”窗口的

“步驟1.字段選

取”對話框。

(4)在“步驟1一字段選取”對話框的“數(shù)據(jù)庫和表”欄,選取數(shù)據(jù)表

ksqkb.dbf,將“可

用字段”欄中的各個字段全部轉入“選定字段”欄中,結果如圖9-2所示。

179

圈9-1向導選取

圈90表單向導步驟1.字段選取

(5)單擊“下一步”按鈕,進入“表單向導。的“步驟2.選擇表單式

樣”對話框。該

對話框的“樣式”欄給出了“標準”等9種按鈕樣式供用戶選擇,“按鈕

類型”列表給出了“文

本按鈕”等4類按鈕類型供用戶選擇。此處將“按鈕類型”選擇為“文本

按鈕”,將“樣式”

選擇為“浮雕式”,如斟9-3所示。

(6)單擊“下一步”按鈕,進入“表單向導”的“步驟3-排序次序”對

話框。在該對

180

話框的“可用的字段或索引標識”欄中選擇字段“考號”,將它添加到“選

定字段”欄中,如

圖9-4所示。

圈9-3表單向導步驟2,選擇喪單樣式圖g-4表單向導步驟3.排序次

(7)單擊“下一步”按鈕,以考號的升序建立表索引,井進入了“表單

向導”的“步驟

4一完成”對話框。在該窗口的“請輸入表單標題”欄輸入標題“高考考

生情況統(tǒng)計表”。為了

保存并觀察表單的運行結果,選擇“保存井運行表單”,如圖9-5所示。

(8)單擊“完成”按鈕,彈出“另存為”窗口,在“保存表單為"欄中

輸入“表單1”,

單擊“保存”按鈕,則表單創(chuàng)建成功井運行,結果如國9-6所示。

181

圖9-5表單向導步驟4J完成

09-6“表單I”運行結果

【例9.2]用表單向導創(chuàng)建一個一對多數(shù)據(jù)衰的表單“表單2”。

操作步驟如下:

(1)同例9』中的步驟(1)和(2)-樣,進入圈9-1所示的“向導選取”對

話框。

(2)選取“一對多表單向導”,單擊“確定”按鈕,進入“?對多表單

向導”的“步驟

1一從父表中選定字段”對話框。通過“數(shù)據(jù)庫和表”欄右側的選擇按鈕

或“…”按鈕.打開

數(shù)據(jù)庫gksjkdbc(該庫事先已經(jīng)以字段“考號”建立了各表之間的關聯(lián),

其中zhqkb.dbf為

父庫),選擇zhqkb.dbf作為父表,井將“可用字段”中列出的該表的有關

182

字段轉入“選定字

段”欄中,如圖9-7所示;

(3)單擊“下一步”按鈕,進入“一一對多表單向導”的“步驟2-從于

表中選定字段”

對話框。在該對話框中選擇數(shù)據(jù)表Iqyxb.dbf為予表,并將有關字段轉入

“選定字段”列表框,

如圖9-8所示。

圖9-7步驟1'從父表中選定字段圖9.8步驟2.從子表中選定字

(4)單擊“F?步”按鈕,進入“一對多表單向導”的“步驟3—建立

表之間的關系”

對話框。選擇父、子兩表中的關聯(lián)字段“考號”,如圖9-9所示。

⑸單擊“下一步”按鈕,進入“一對多表單向導”的“步驟

183

框。此處在“按鈕類型”欄選擇“圖片按鈕”,在“樣式”欄選擇“新

4一選擇表單樣式”對話

奇式",如圖9-J0所示。

S9-9步驟3_建立襄之間的關系圖9-10步瞿毛4遺{蘋表單樣式

(6)單擊-F-步”按鈕,進入“一對多表單向導”的“步驟5.排序次序”

對話框。

由于父、子兩表事先已經(jīng)按字段“考號”建立了關聯(lián),因此可直接單擊“下

一步”按鈕進入

“一對多袁單向導”的卻步驟6-完成”對話框。

(7)在“一對多表單向導”的“步驟6-完成”對話框,在“請輸入表單

標題”欄輸入

標題“高考考生錄取情況統(tǒng)計表”。選擇“保存表單以各將來使用”,如圖

9-11所示。

184

(8)單擊“預覽”按鈕,觀察表單形式,如圖9-12所示。

(9)單擊“返回向導”,返回“步驟6一完成”。再單擊“完成”按鈕,

彈出“另存為”

對話框,在“保存表單為”欄中輸入“表單2”,單擊“保存”按鈕,則一

對多數(shù)據(jù)表表單創(chuàng)

建成功。

若要運行該表單,可在命令窗口輸入:

DOFORM表單2.scx

此時首先進入了第1條記錄,同時表單底部提供的各種命令按鈕可以

使用,以便用戶操

作表單。

型9-11步驟6.完戰(zhàn)

185

圖9-12表單2效果預覽

9.1.2利用表單設計器創(chuàng)建表單

表單設計器具有強大的表單設計功能。它不但可以設計新表單,還可

以修改舊表單,對

表單進行各種修飾。它提供的快速表單命令,使得創(chuàng)建表單的工作變得更

快捷。

在命令方式下,使用表單設計器創(chuàng)建表單的命令是:

CREATEFORM<fdrmname>

例如,要用表單設計器創(chuàng)建一個名為“表單3.scx”的表單,則在命

令窗口輸入:

CREATEFORM表單3

下面舉例介紹利用表單設計器刨建表單的步驟。

186

【例9.3]利用表單設計器創(chuàng)建表單“表單3”。

操作步驟如下:

(1)單擊VisualFoxPro6.O主窗口工具欄中的''新建"按鈕,彈出“新

建”對話框。在

“文件類型”列表框選擇“表單”,單擊“新建文件押按鈕,進入“表單

設計器押窗口,如圖

9-13所示。

(2)使用“快速表單”功能選定需要的數(shù)據(jù)表或視圖中的字段。

①打開主菜單欄的盯表單”子菜單,選擇“快速表單”選項(或者在

“表單設計器”窗

口使用快捷鍵,選擇“生成器”選項),彈出“表單生成器”對話框。

②在“表單生成器”對話框的“數(shù)據(jù)庫和表”欄中,選取需要的庫、

表或視圖,將“可

187

用字段”中的有關宇段轉入“選定字段斗欄中。這里我們選用數(shù)據(jù)庫

OKSJK.DBC中的視圖

GKSJK.VUE,將它的字段全部轉入“選定字段”欄中,如圖9-14所示。

③單擊“確定”按鈕,彈出表單輪廓,在“屬性”欄選擇表單標題

Caption,輸入"高

考情況表",如圖9-情所示。

④關閉“表單生成器”,彈出“另存為”對話框后,在“保存表單為"

欄輸入“表單3”,

單擊“保存”按鈕,則表單3.scx快速創(chuàng)建完成。

為r觀察創(chuàng)建效果,在命令窗口輸入:

DoFORM表單3

運行結果如圖9-16所示??梢钥吹?,該表單僅顯示出第一條記錄,

其他記錄卻無法顯示,148

188

1fisualFoxPrO6.0程序設計教程

同時還可以看到,屏幕顯得比較凌亂,各字段并不一定顯示在合適的地方。

究其原因是創(chuàng)建

表單時,我們并沒有給它添加任何控件,使得用戶對它無法進行更進一步

的操作。這些正是

我們要對表單進行修改、修飾的理由。

圖9-11豪單設計赫窗口

躅9-14表單生成囂射話框

匿9-15喪單3的鰭構

圈乒16最單3的運行結

挖件框的最大唐:KeyBoardHighValueo

189

控件框的最小值:KeyBoardLowValue0

控件框的步長值:Increment。

挖件框的初始值:Valueo

下面舉例說明設計微調控件的步驟。

【例9.10]在“表單8”中,揀加一個微調控件,生成“表單9”,用來

顯示數(shù)據(jù)表zhqkb.dbf

中數(shù)值型字段“原始成績”的值。

操作步驟如F:

⑴打開“表單8”,將它另存為“表單9”,調整原有各控件到適當位

(2)在“表單9”中,新增加一個“標準總分”標簽,并調整到合適位

置。

190

(3)單擊工具欄的微調控件巨在“標準總分”標簽之后,建立一個微調

控件:

Spinnerlo如圖9-35所示。

(4)定義微調控件的主要屬性。

控件框的最大值:KeyBoardHighValue900

控件框的最小值:KeyBoardLowValue100

控件框的步K值;Increment1

控件框的初始值:Value100

控件框的數(shù)據(jù)來源:ControlSourcegksjk.標準總分。

(5)在表單設計器中單擊右鍵,打開快捷菜單,選擇“數(shù)據(jù)環(huán)境”選項,

進入“數(shù)據(jù)

環(huán)境設計器”窗口。

191

(6)在“數(shù)據(jù)環(huán)境設計器”窗口,單擊右健,調出快捷菜單。

(7)選擇快捷菜單中的“添加”選項,從而打開“添加表或視圖”對話

框。在其中選擇

視圖gksjk,結果如圖9-36所示。

圖9-35表單9k#J'圈9.36為裹單9設置數(shù)據(jù)環(huán)境

(8)單擊瑞捺加”按鈕,實現(xiàn)對視圖gksjk.vue的添加。

(9)存盤并執(zhí)行“表單9”,結果如圖9-37所示。

9.3.11添加表格控件

表格控件是指,以表格的方式輸入、輸出數(shù)據(jù)的控件。它常被用于一對多

的數(shù)據(jù)表關系

中。它的主要屬性有總列數(shù)ColumnCount、父表LinkMaster、數(shù)據(jù)源

RecordSource>表格控

192

件的名字Name等,各表格列的屬性有:各列的數(shù)據(jù)來源ControISource

等。

圖9-37表單9運行結果

下面舉例說明添加表格控件的步驟。

I例9.11】以“表單9”為基礎,建立一個包含表格控件的“表單

10”.用來控制數(shù)據(jù)表

zhqkb.dbf.ysfsb.dbf.bzfsb.dbf中數(shù)據(jù)的輸入和輸出。

操作步驟如下:

(1)打開表單9,將它另存為表單10,調整原有各控件到適當?shù)奈恢谩?/p>

(2)單擊工具欄的表格控件霸蒯,在表單10的。F部,將表格控件裝

入。

(3)定義表格控件的屬性。

193

Namie:高考分數(shù)

ColumnCount:10

LinkMaster:zhqkb

RecordSource:ysfsb

(4)定義各控件列的主要屬性。

第1列的“Cohmml椰主要屬性:

ControlSource:ysfsb.原始總分.

第1列的“headerl”主要屬性:

Caption:原始總分

⑸重復第4步,可定義第2到10列

各列的主要屬性"Columnx"(x_2?10)啊

194

Controlsource屬性分別為ysfsb.原始語文、

ysfsb原始數(shù)學、ysfsb.原始外語、ysfsb.原始

綜臺、bzfsb.標準總分、bzfsb.標準語文、bzfsb.

標準數(shù)學、bzfsb.標準外語、bzfsb.標準綜合;

各列“headed”的“Caption”屬性分別為:

原始語文、原始數(shù)學、原始外語、原始綜合、

標準總分、標準語文、標準數(shù)學、標準外語、

標準綜合。結果如圖9-38所示。

(6)存盤,運行“表單10”,結果如圖'圈9-38表單10結構

9-39所示。

93.12設計命令按鈕組控件

195

命令按鈕組控件的作用是把一些分散的

命令按鈕組合起來,統(tǒng)一管理。但每個命令按

鈕都有各自的屬性、事件和方法。使用時,仍

必須對它們進行各自的獨立操作。

命令按鈕組控件的主要屬性有一個,即用

來定義它所包含的命令按鈕個數(shù)的

BottonCounto

下面舉例說明添加命令按鈕組控件的步

驟。

圖939襄單10運行結果

I例9.12]以“表單10”為基礎,建立一個包含命令按鈕組控件的“表

單11”一用來控

196

制數(shù)據(jù)表zhqkb.dbf、ysfsb,dbf中數(shù)據(jù)的輸入、輸出和編輯。

操作步驟如下:

(1)打開表單10,將它另存為表單11,刪除表格控件有關標準分數(shù)的

5列,井調整各

控件到適當位置。

(2)單擊工具欄的表格控件,在“表單II”的下部,將其裝入。

(3)定義命令按鈕組控件的屬性如下:

Name:CommandGroupl

ButtonCount:7

Autosize.T_

(4)定義各命令按鈕控件的主要屬性。

(DCommandl

197

Caption:到首記錄

High:25

Widh:60&&以下各命令按鈕高和寬均為25、60

(§)Command2

Caption:到末記錄

③Command3

Caption:土條記錄

(螢CoiTunand4

Caption:下條記錄

⑤Command5

Caption:插入記錄

198

(9Command6

Caption:刪除記錄

?Command7

C叩tion:退出

結果如圖9-40所示。

國9T40表單41結構

(5)為每一個命令按鈕編寫Click事件的代碼。

①Commandl

gotop&&將指針移動到首記錄

this.enabled=.£

mandl;roup1.command2.enabled=.t.&&允許將指針移到

末記錄

199

thisform.commandgroupl.command3.enabled='t.&&允許將指針再向上

移動

mandgroupl.command4.enabled=,t,&&允許將指針向下移

thisfbrm.refresh&&刷新表單

②Command2

gobottom&&將記錄指針指向末記錄時

this.enabled=f.

mandgroupl.commandl.enabled-.t.&&允許將指針移到首

記錄

thisfonii.conimandgToupl.commands.enatlled=.t+&&允許將指針再

向上移動

thisform,commandgroupl.command4.enahled=.t.&&允詐將指針向

200

下移動

thisform.refi'esh

③Command3

skip-1

ifbofO&&指針指向了首記錄之前

this.enabled=.f

thisfonii.conimanderoupmandl+enabledj£&&不允許使用:00

TOP命令

mandgroup1.command4.enabled=.t.&&允許將指針向

下移動

elae&&指針未指向首記錄之前

this.qllll矗b{}e吐氣匕

201

;一嚇、'f、.二,一—童4

“觸,一刪岬,.c—礎*enabled-_t.&&不允許將指啪睜蘿善,

.』+'

endif

r,

thisform.refresh

④Command4

skipl

ifbof()島&指針指向了末記錄之后

202

this.enabled=.f

Chisfbrm,command8roupl.conimandl,enabled=?t,蝕&允許將指針移

到首記錄

mand8roupl.comnund2.enabled=.f&&不允許使用:

gobottom

thisform,commandgroupLeommand3,enabled=.t.&&允許將指針向上

移動

else&&指針未指向末記錄之后

this.enabled=.t.

thisform.conimandgroupl.commandl.mabled;.tO啤jc許將指針穆

向首記錄

thisfonn.commandgroupl.command2,enable扣八&&允許將指針移向

來記錄

203

thisfonn+comand3,enabled=t&&允許將指針向上

移動

endif:'【一

endif

thisfbnn.refresh

?Commands

r,:,

opendatabasegksjk.dbco&clusive

appendbiank

204

thisfonn.m宜%11

@Conunand6:,

.ifmeyiigebox("您真的要刪睬本記錄嗎?",1+64+256,"提示“戶

deletenext1

pack

:.AthXhnriNSt??..船.

-i,

else

0oo~、j.-

1,'!f...i

,relcaat:thisform

205

-??n

1,

-mdif

9

?Command7。,:,

JJ

'ReleaseTlusFonn

(6)執(zhí)行“表單n”,將會自如地使用所定義的命令按鈕組,.而完成對

數(shù)據(jù)庫的操作。

如一開始時指針指在第1條記錄,只要按一下“到末記錄”按鈕,指針就

立鞋辨旨哺最后一條

記錄(即第10象記錄),結果如圖9-41所示。

206

-1

圈9-41表單H運行結果

9,4設計多頁表單

多頁表單指用戶可以設計一個“頁框”控件,將兒張表單封裝在同一

個頁面上,從而實

現(xiàn)對它們各種預先定義好的操作。

頁框控件的主要屬性由兩部分組成,?部分用來定義頁框內(nèi)所包含的

頁數(shù),而另一部分

207

則應是各頁本身所具有的屬性。

【倒9.131以“表單II”為基礎,設計一個包含兩頁表單的'”表單

12”,用來控制數(shù)據(jù)

表zhqkb.dbf,ysfsb.dbf中數(shù)據(jù)的輸入、輸出和編輯。

操作步驟如下:

(1)單擊FoxPro工具欄中的“建立空白文檔”按鈕,進入“新建”對

lz框。

(2)在其中選擇“表單抑選項,單擊“新建文件”按鈕,從而進入“表

單設計器”窗口。

(3)在“表格控件”窗口單擊“頁框”控fhl?S,使光標變?yōu)?,移動

它到“表單設計器”

窗口.單擊鼠標,加入一個“頁框”控件。

利用鼠標將頁框調整到適當大小和位置。

208

結果如圖9-42所示。

(4)定義頁框控件的屬性。

Name:頁框1

PageCount:2

ActivePage:2

(5)定義頁的主要屬性。

①第1頁Pagel

Caption:原始分數(shù)

Name:第1頁

圖9-42在表單設甘器中定史頁框控件

②第2頁Page2

209

Caption:標準分數(shù)

Name:第2頁

(6)將表單11分別復制到“第1頁”、IV第2頁”中。

(7)將“第2頁”中的表格控件的C叩tion屬性分別改為標準總分、標

準語文、標準數(shù)

學、標準外語、標準綜合;RecordSource屬性改為bzfsb;將各列的

ControISouce屬性分別

改為:bzfsb.標準XX(XX表示:總分、語文、...、綜合)。

(8)修改命令按鈕組的各按鈕的代碼,將第1頁的各按鈕代碼中,凡涉

及到

“ThisForm.CommandGroupl”的地方,一律改為"ThisForm.頁框1.第1

頁.CommandOroupl”;

對第2頁各按鈕代碼的對應處也一律改為“ThisForm.頁框1.第2

210

頁.CommandGroupl”。

(9)將兩頁中的I代碼中的"Thisfbrm.imagel”分別改為:

"Thisfbnn.頁框1.

第1頁.Imagel"、"ThisForm*頁框1.第2頁,Imagel”。

(10)修改完畢,存盤并運行“表單12”,得到如圖9-43、9-44所示結

果,用戶可以在

兩個頁面間進行切換。

圖943頁框1顯承結果

習題

圈9-44頁框2顯示結構

1.什么是表單?表單的作用是什么r

2.創(chuàng)建表單有幾種方法?

211

3.什么叫控件?控件具有哪些最基本屬性?如何向表單中添加控

件?

4.建立一對多表單時,能否指定兩個子表?

5.用表單設計器進行表單設計,其所涉及的基本元素是什么?

6.請用表單向導和表單設計器,對第2章習題中所建立的sbtjb.dbf,

分別設計一個內(nèi)容

顯示表單,然后執(zhí)行表單,并說明兩種設計方法的優(yōu)缺點。

7.按下列要求完成表單的設計:

(1)用“一對多表單向導”建立表單,其數(shù)據(jù)源是zhqkb.dbf(父表)

和ysfeb.dbf(對

兩個數(shù)據(jù)表的字段不要求全選),執(zhí)行此表單。

(2)進入“表單設計器”,添加一個標簽扮件(Caption-“出生日期”,其他

屬性取缺省

212

值)、文本框控件(Controlsource-zhqkb.出牛U期,其他屬性取缺省值)。

(3)對表單中的某些控件屬性進行位置、大小、顏色等修改。

(4)執(zhí)行此表單。

8.按'卜列的步驟設計一個表單(使用的數(shù)據(jù)庫足gksjk.dbc):

(1)創(chuàng)建一個新襲單,在表單中添加三個“表格”控件。

(2)右鍵單擊表格拄件Gridl,在快捷命令項畔-選擇“生成器”,進入

“表格設i器押。

(3)在“數(shù)據(jù)庫和表”欄中選擇“ZHQK_B”。

(4)把“可用字段”全部傳入“選定字段”。

(5)單擊“確定”按鈕。

(6)重復步驟(2)?(5)(在步驟(2)中選擇“Grid2",在步驟(3)中選擇

“YSFSB”),

213

完成第二個表格控件的屬性設置。

⑺重復步驟(2)?(5)(在步驟(2)中選擇“Grid3",在步驟(3)中選擇

“BZFSB一),

完成第三個表格控件的屬拄箍置。..:.:、,..jw..,

(8)執(zhí)行表單,在“Gridf一中單擊某個記錄,觀察“Grid2”和“Grid3”

的變化惰況。

9.設計如母_9-45.所累的表單(數(shù)幫庫sbtjb.dbf)。

嘲c).45jJ越一-府i雀iMl舊柱-碑

⑴模仿例9,12中的第5步,分別對“上頁”、“下頁”、“退出”命令按

鈕編寫Click

事件代碼。

214

(2)執(zhí)行表單。

(3)請給例9,12命令組添加上“查找”、“打印”命令按鈕,編寫出其

相應的Click事件

代碼,并進行執(zhí)行。

同時還可以看到,屏幕顯得比較凌亂,各字段并不一定顯示在合適的地方。

究其原因是創(chuàng)建

表單時,我們并沒有給它添加任何控件,使得用戶對它無法進行更進一步

的操作。這些正是

我們要對表單進行修改、修飾的理由。

圖9-11豪單設計赫窗口

躅9-14表單生成囂射話框

匿9-15喪單3的鰭構

215

圈乒16最單3的運行結果

9.2表單的修改

無論是利用表單向導還是利用表單設計器創(chuàng)建的表單,只要對它感到不

滿意都可以使用

“表單設計器”進行修改。在命令方式下,修改表單的命令格式是:

MODIFYFORM<Formname>.scx

93添加控件及屬性

利用“表單設計器”,通過它提供的“表單控件”工具欄可以很容易地

添加控件、移動和

調整控件的大小、賦值和刪除控件、對齊控件、修改Tab鍵的次序。

“表單控件”工具欄如圖9.17所示。

表9.1列出了各種表單控件按鈕的作用。

216

單控件工具欄

表9.1裹單控件工具欄按鈕功能一覽裹

丹創(chuàng)符

形狀

0L弊定塾

砸耀

凰像

就蠅

組合框

通壤按忸組

前奇捧鈕螞

溫馨提示

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

評論

0/150

提交評論