版權說明:本文檔由用戶提供并上傳,收益歸屬內(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四書店門面臨時代租及文化活動策劃合同3篇
- 2025年度大數(shù)據(jù)分析服務外包合同范本4篇
- 2025年電子產(chǎn)品銷售代理合同協(xié)議范本
- 二零二五年度品牌形象塑造與廣告宣傳一體化合同4篇
- 2025年度蔬菜配送及農(nóng)業(yè)科技研發(fā)合作合同3篇
- 二零二五版攪拌站工程勞務分包合同實施細則12篇
- Unit 4 What can you do?B read and write(說課稿)-2024-2025學年人教PEP版英語五年級上冊
- 1 負數(shù) 第二課時(說課稿)-2023-2024學年六年級下冊數(shù)學人教版
- 個體運輸商2024年承運協(xié)議標準文本版B版
- Module 3 Unit 1 What are they doing(說課稿)-2024-2025學年外研版(三起)英語四年級上冊
- GB/T 12914-2008紙和紙板抗張強度的測定
- GB/T 1185-2006光學零件表面疵病
- ps6000自動化系統(tǒng)用戶操作及問題處理培訓
- 家庭教養(yǎng)方式問卷(含評分標準)
- 城市軌道交通安全管理課件(完整版)
- 線纜包覆擠塑模設計和原理
- TSG ZF001-2006 安全閥安全技術監(jiān)察規(guī)程
- 部編版二年級語文下冊《蜘蛛開店》
- 鍋爐升降平臺管理
- 200m3╱h凈化水處理站設計方案
- 個體化健康教育記錄表格模板1
評論
0/150
提交評論