版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VisualFoxPuo
程序設(shè)計(jì)基礎(chǔ)第10章表單的設(shè)計(jì)與應(yīng)用創(chuàng)建表單10.1表單的操作10.2表單控件的操作10.3常用表單控件10.4表單應(yīng)用實(shí)例10.510.1創(chuàng)建表單在VisualFoxPro中,創(chuàng)建表單的方法有以下幾種。(1)使用“表單向?qū)А?。?)使用“表單設(shè)計(jì)器”。(3)使用“表單生成器”。10.1.1使用表單向?qū)?chuàng)建表單打開(kāi)“向?qū)нx取”窗口的方式有以下3種。
(1)打開(kāi)項(xiàng)目管理器,選擇“全部”選項(xiàng)卡,從列表框中選擇“文檔”/“表單”命令,再單擊“新建”按鈕,然后在彈出的“新建表單”對(duì)話框中選擇“表單向?qū)А眻D片按鈕,如圖10.1所示。圖10.1利用項(xiàng)目管理器打開(kāi)表單向?qū)?/p>
(2)選擇“文件”/“新建”命令,在“新建”對(duì)話框中選擇“表單”單選按鈕,然后再單擊“向?qū)А眻D標(biāo)按鈕,如圖10.2所示。
圖10.2“新建”對(duì)話框
(3)選擇“工具”/“向?qū)А?“表單”命令,即可打開(kāi)“向?qū)нx擇”對(duì)話框,如圖10.3所示。
圖10.3“向?qū)нx擇”對(duì)話框
1.創(chuàng)建單表表單下面使用表單向?qū)榻處煴斫⒈韱?。具體操作步驟如下。
(1)用上述任一方法打開(kāi)“向?qū)нx取”對(duì)話框。
(2)在“向?qū)нx擇”對(duì)話框中選擇“表單向?qū)А边x項(xiàng),單擊“確定”按鈕,進(jìn)入“步驟1-字段選取”對(duì)話框,從“數(shù)據(jù)庫(kù)和表”中選擇需要的表。在此選擇“學(xué)生成績(jī)管理”數(shù)據(jù)庫(kù),在“數(shù)據(jù)庫(kù)和表”對(duì)應(yīng)的列表框中選擇“教師表”,然后將“可用字段”列表框中需要在表單上顯示的字段添加到“選定字段”列表框中,如圖10.4所示。最后單擊“下一步”按鈕。圖10.4“步驟1-字段選取”對(duì)話框
(3)在“步驟2-選擇表單樣式”對(duì)話框中,可以選擇表單輸出的樣式和按鈕的類型,左上角的放大鏡顯示的是選擇的表單樣式。表單樣式有標(biāo)準(zhǔn)式(默認(rèn))、凹陷式、陰影式和邊框式4種,按鈕的類型也有文本按鈕、圖片按鈕、無(wú)按鈕和定制4種。一般選擇默認(rèn)值即可,如圖10.5所示。在本例中選擇“標(biāo)準(zhǔn)式”和“文本按鈕”選項(xiàng),然后單擊“下一步”按鈕。圖10.5“步驟2-選擇表單樣式”對(duì)話框
(4)在“步驟3-排序次序”對(duì)話框中,可以選擇記錄的排序字段或索引標(biāo)識(shí),排序字段最多可以選擇3個(gè),還可以根據(jù)需要來(lái)確定記錄的“升序”或“降序”排列。
在本例中選擇按“學(xué)號(hào)”升序排列,然后單擊“下一步”按鈕,如圖10.6所示。圖10.6“步驟3-排序次序”對(duì)話框
(5)在“步驟4-完成”對(duì)話框中,提示用戶輸入表單的標(biāo)題,并選擇表單的保存方式,在本例中輸入“教師信息”作為表單標(biāo)題,并選擇“保存并運(yùn)行表單”選項(xiàng)按鈕,然后單擊“預(yù)覽”按鈕便可查看表單運(yùn)行效果,最后單擊“完成”按鈕,如圖10.7所示。圖10.7“步驟4-完成”對(duì)話框
(6)在彈出的“另存為”對(duì)話框中,輸入表單的名稱。在本例中輸入表單名稱為“教師信息表”,并選擇相應(yīng)的表單文件保存路徑,設(shè)置完成后單擊“保存”按鈕,如圖10.8所示。
保存后的表單文件將立即被運(yùn)行,其運(yùn)行效果如圖10.9所示。圖10.8保存表單文件圖10.9表單運(yùn)行效果2.創(chuàng)建一對(duì)多關(guān)系表單一對(duì)多表單向?qū)Э梢詭椭脩艚⒁粋€(gè)使用兩個(gè)表的表單。表單中所使用的兩個(gè)表之間要存在一對(duì)多的關(guān)系,一方所對(duì)應(yīng)的表稱為父表,多方所對(duì)應(yīng)的表稱為子表。
具體操作步驟如下。
(1)打開(kāi)“向?qū)нx擇”對(duì)話框。
(2)在“向?qū)нx擇”對(duì)話框中選擇“一對(duì)多表單向?qū)А边x項(xiàng),單擊“確定”按鈕。打開(kāi)如圖10.10所示的“步驟1-從父表中選擇字段”對(duì)話框。在本例中,選擇“學(xué)生表”為父表,然后在“可用字段”列表框中選擇“學(xué)號(hào)”、“姓名”、“性別”、“出生日期”等字段,添加到“選定字段”列表框中,單擊“下一步”按鈕。
圖10.10步驟1-從父表中選定字段
(3)打開(kāi)“步驟2-從子表中選擇字段”對(duì)話框,從中選擇“選課表”為子表,將“課程號(hào)”、“成績(jī)”字段添加到“選定字段”列表框中,如圖10.11所示。單擊“下一步”按鈕。圖10.11步驟2-從子表中選定字段
(4)打開(kāi)“步驟3-建立表間關(guān)系”對(duì)話框,從中確定兩個(gè)表之間的關(guān)聯(lián)字段。選擇“學(xué)號(hào)”字段為學(xué)生表和選課表之間的關(guān)聯(lián)字段,如圖10.12所示。單擊“下一步”按鈕。圖10.12步驟3-建立表之間的關(guān)系
(5)打開(kāi)“步驟4-選擇表單樣式”對(duì)話框,該對(duì)話框與表單向?qū)ь愃?,從中選擇表單輸出的樣式和按鈕類型。
在本例中,選擇“陰影式”和“文本按鈕”選項(xiàng),如圖10.13所示。單擊“下一步”按鈕。圖10.13步驟4-選擇表單樣式
(6)打開(kāi)“步驟5-排序次序”對(duì)話框,從中選擇排序記錄的字段或索引標(biāo)識(shí)。在本例中選擇按“學(xué)號(hào)”升序排列,如圖10.14所示。設(shè)置完成后單擊“下一步”按鈕。圖10.14步驟5-排序次序
(7)打開(kāi)“步驟6-完成”對(duì)話框,從中輸入表單的標(biāo)題。
在本例中,輸入“學(xué)生選課情況”,并選中“保存并運(yùn)行表單”單選按鈕,如圖10.15所示。圖10.15步驟6-完成然后單擊“預(yù)覽”按鈕,便可以查看運(yùn)行的效果,最后單擊“完成”按鈕,在彈出的“另存為”對(duì)話框中,輸入表單文件的名稱,并選擇相應(yīng)文件的保存路徑。表單的運(yùn)行效果如圖10.16所示。圖10.16運(yùn)行效果10.1.2使用“表單設(shè)計(jì)器”創(chuàng)建表單表單設(shè)計(jì)器是VisualFoxPro系統(tǒng)提供的一個(gè)創(chuàng)建和修改表單的可視化工具,它不僅能夠在表單內(nèi)添加需要的各種控件,還可以為各控件設(shè)置相關(guān)的屬性以及合理安排它們的布局。1.打開(kāi)表單設(shè)計(jì)器窗口打開(kāi)表單設(shè)計(jì)器常用的方法有如下3種。
(1)使用項(xiàng)目管理器方式。
(2)使用菜單方式。
(3)使用命令方式。
圖10.17“表單設(shè)計(jì)器”窗口2.表單設(shè)計(jì)輔助工具在啟動(dòng)表單設(shè)計(jì)器之后,VisualFoxPro系統(tǒng)還提供了一些輔助工具,以幫助用戶進(jìn)行表單設(shè)計(jì),在表設(shè)計(jì)器窗口中出現(xiàn)的主要有“表單設(shè)計(jì)器”工具欄、“表單控件”工具欄、“布局”工具欄等,另外還有一個(gè)“屬性”窗口。
(1)“表單設(shè)計(jì)器”工具欄。
圖10.18“表單設(shè)計(jì)器”工具欄(2)“表單控件”工具欄。
圖10.19“表單控件”工具欄(3)“布局”工具欄。
圖10.20“布局”工具欄(4)“屬性”窗口。
圖10.21“屬性”窗口
(5)“代碼”窗口。
圖10.22“代碼”窗10.1.3使用“表單生成器”創(chuàng)建表單在打開(kāi)“表單設(shè)計(jì)器”之后,可以采用以下3種方式打開(kāi)“表單生成器”。● 在“表單設(shè)計(jì)器”工具欄上單擊“表單生成器”按鈕。● 在“表單設(shè)計(jì)器”窗口的空白處,單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“生成器”選項(xiàng)?!?選擇“表單”/“快速表單”命令。10.2表單的操作
10.2.1表單的保存、運(yùn)行和修改
1.表單的保存在表單設(shè)計(jì)器環(huán)境下,選擇“文件”/“保存”命令,或者單擊工具欄上的“保存”按鈕,然后在彈出的“另存為”對(duì)話框中輸入表單文件的名稱,并選擇相應(yīng)的保存路徑,最后單擊“保存”按鈕即可。這樣設(shè)計(jì)的表單將被保存在一個(gè)表單文件和一個(gè)表單備注文件中。表單文件的擴(kuò)展名為.scx,表單備注文件的擴(kuò)展名為.sct。2.表單的運(yùn)行表單創(chuàng)建好后,可以運(yùn)行表單來(lái)查看表單的設(shè)計(jì)效果。運(yùn)行表單有菜單方式和命令方式。(1)使用菜單方式。圖10.26所示為“一對(duì)多”的學(xué)生選課成績(jī)表單的運(yùn)行界面。圖10.26運(yùn)行的“一對(duì)多”關(guān)系表
(2)使用命令方式。
3.表單的修改
(1)使用菜單方式。
(2)使用命令方式。
命令格式:MODIFYFORM<表單文件名>10.2.2設(shè)置表單的屬性在表10.1中列出了在設(shè)計(jì)時(shí)常用的表單屬性,用來(lái)定義表單的外觀和行為。
【例10.1】創(chuàng)建名為“第一個(gè)表單”的表單并設(shè)置屬性。具體操作如下。①選擇“文件”/“新建”命令,在彈出的“新建”對(duì)話框中設(shè)置文件類型為“表單”,然后再選擇“新建文件”,單擊“確定”按鈕,打開(kāi)相應(yīng)表單文件的“表單設(shè)計(jì)器”窗口,如圖10.27所示。圖10.27“表單設(shè)計(jì)器”窗口
②選擇“顯示”/“屬性”命令,打開(kāi)“屬性”窗口,如圖10.28所示。圖10.28“屬性”窗口
③在對(duì)象下拉列表框中選擇Form1。④在“屬性”窗口的“全部”選項(xiàng)卡中,單擊BackColor屬性,再單擊屬性設(shè)置框右側(cè)的按鈕,彈出“顏色”對(duì)話框,選取“紅色”選項(xiàng)后,單擊“確定”按鈕。⑤單擊BorderStyle屬性,再單擊屬性設(shè)置框右側(cè)的按鈕,從下拉列表框中選擇“0-無(wú)邊框”選項(xiàng)。⑥單擊Caption屬性,在屬性設(shè)置框顯示的文本框中輸入表單標(biāo)題“myform”。⑦選擇“表單”/“執(zhí)行表單”命令,運(yùn)行表單。⑧單擊工具欄中“保存”按鈕,文件名為“第一個(gè)表單”。10.2.3表單的事件和方法
1.表單的事件在表單中常用的事件具體介紹如下。
(1)Init事件。在對(duì)象建立時(shí)引發(fā),在表單對(duì)象的Init事件引發(fā)之前,首先引發(fā)它所包含的各控件對(duì)象的Init事件,因此在表單對(duì)象的Init事件代碼中能夠訪問(wèn)它所包含的所有控件對(duì)象。(2)Load事件。在表單對(duì)象建立之前引發(fā),在運(yùn)行表單時(shí),系統(tǒng)先引發(fā)表單的Load事件,再引發(fā)表單的Init事件。(3)Activate事件。在表單、表單集或頁(yè)面對(duì)象激活時(shí)引發(fā)。(4)Destory事件。在對(duì)象釋放時(shí)引發(fā),表單的Destory事件在它所包含的各個(gè)控件對(duì)象的Destory事件引發(fā)之前引發(fā),所以在表單對(duì)象的Destory事件代碼中能夠訪問(wèn)它所包含的所有控件對(duì)象。(5)Unload事件。在表單對(duì)象釋放時(shí)引發(fā),它是表單釋放時(shí)最后一個(gè)要引發(fā)的事件。(6)Error事件。當(dāng)某方法(過(guò)程)在運(yùn)行出錯(cuò)時(shí)引發(fā),該事件發(fā)生后,事件代碼將根據(jù)系統(tǒng)提供的錯(cuò)誤類型和錯(cuò)誤發(fā)生的位置等信息對(duì)出現(xiàn)的錯(cuò)誤進(jìn)行相應(yīng)的處理。(7)GotFocus事件。當(dāng)對(duì)象獲得焦點(diǎn)時(shí)引發(fā),在應(yīng)用程序中會(huì)包含許多對(duì)象,但某一時(shí)刻只能對(duì)被選定的對(duì)象進(jìn)行操作。(8)Click事件。用鼠標(biāo)單擊表單的空白處,將引發(fā)表單的Click事件。
(9)DblClick事件。在表單或表單內(nèi)的對(duì)象上雙擊鼠標(biāo)左鍵時(shí)引發(fā)。(10)RightClick事件。在表單或表單對(duì)象上單擊鼠標(biāo)右鍵時(shí)引發(fā)。(11)KeyPress事件。當(dāng)按下并釋放某個(gè)鍵時(shí)引發(fā)。(12)InteractiveChange事件。當(dāng)通過(guò)鼠標(biāo)或鍵盤(pán)交互式改變一個(gè)控件的值時(shí)發(fā)生。2.表單的常用方法有關(guān)表單的常用方法具體介紹如下。
(1)Release方法。
(2)Refresh方法。
(3)Show方法。
(4)Hide方法。
(5)SetFocus方法。
【例10.2】為例10.1的表單編寫(xiě)click事件。具體操作如下。①選擇“文件”/“打開(kāi)”命令,在彈出的“打開(kāi)”對(duì)話框中設(shè)置文件類型為“表單”,然后再選擇“第一個(gè)表單”,單擊“確定”按鈕,打開(kāi)相應(yīng)表單文件的“表單設(shè)計(jì)器”窗口。
②選擇“顯示”/“代碼”命令。打開(kāi)代碼編輯窗口。③在“對(duì)象”下拉列表中選擇Form1。④在“過(guò)程”下拉列表中選擇Click。⑤在代碼輸入?yún)^(qū)中輸入如圖10.29所示代碼:
Thisform.Caption=“單擊事件響應(yīng)”。圖10.29“代碼”編輯窗口
⑥保存表單并運(yùn)行,如圖10.30所示。圖10.30運(yùn)行結(jié)果10.2.4為表單添加數(shù)據(jù)環(huán)境當(dāng)用戶的表單顯示的是一個(gè)表或視圖的數(shù)據(jù)時(shí),就必須設(shè)置表單的數(shù)據(jù)環(huán)境。數(shù)據(jù)環(huán)境用來(lái)保存運(yùn)行表單時(shí)所需的一個(gè)或多個(gè)表及表與表之間的關(guān)系。只有當(dāng)表包含在表單的數(shù)據(jù)環(huán)境中,它們的字段及相關(guān)內(nèi)容才能在表單里顯示和編輯。
1.啟動(dòng)數(shù)據(jù)環(huán)境設(shè)計(jì)器要設(shè)置表單的數(shù)據(jù)環(huán)境必須首先打開(kāi)表單設(shè)計(jì)器。圖10.31“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口2.對(duì)數(shù)據(jù)環(huán)境的操作在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”環(huán)境下,可以方便地在當(dāng)前表單的數(shù)據(jù)環(huán)境中添加、移去數(shù)據(jù)表或視圖。
(1)向數(shù)據(jù)環(huán)境中添加表。
圖10.32“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口
圖10.33“添加表或視圖”對(duì)話框(2)從數(shù)據(jù)環(huán)境中移去表或視圖。圖10.34從數(shù)據(jù)環(huán)境中移去表3.在數(shù)據(jù)環(huán)境中設(shè)置表之間的關(guān)系如果添加到數(shù)據(jù)環(huán)境中的數(shù)據(jù)表之間具有在數(shù)據(jù)庫(kù)中所設(shè)置的永久關(guān)系,那么這些關(guān)系將自動(dòng)添加到數(shù)據(jù)環(huán)境中;如果數(shù)據(jù)表之間不存在永久關(guān)系,則可以根據(jù)需要在數(shù)據(jù)環(huán)境中為其建立關(guān)系。4.?dāng)?shù)據(jù)綁定數(shù)據(jù)綁定是指將表單中的控件與數(shù)據(jù)環(huán)境中的數(shù)據(jù)源關(guān)聯(lián)起來(lái),通過(guò)控件來(lái)顯示和修改表中的數(shù)據(jù)。通??梢杂煽丶腃ontrolSource屬性來(lái)指定與其相聯(lián)系的數(shù)據(jù)源,從而實(shí)現(xiàn)控件與數(shù)據(jù)源的數(shù)據(jù)綁定。
在表單設(shè)計(jì)中,通過(guò)設(shè)置有關(guān)屬性,表單中大多控件都可以與特定的數(shù)據(jù)源進(jìn)行綁定。
有關(guān)數(shù)據(jù)源與數(shù)據(jù)綁定的常用屬性如下所述?!?ControlSource,表示指定與對(duì)象綁定的數(shù)據(jù)源。● RecordSource,表示指定與表格控件綁定的數(shù)據(jù)源?!?RecordSourceType,表示指定與表格控件綁定的數(shù)據(jù)源類型。● RowSource,表示指定與組合框或列表框綁定的數(shù)據(jù)源?!?RowSourceType,表示指定與組合框或列表框綁定的數(shù)據(jù)源類型。
下面通過(guò)實(shí)例介紹,使用“數(shù)據(jù)環(huán)境設(shè)計(jì)器”建立一個(gè)“學(xué)生”表單。其中所要用到的表就是前面建立的“學(xué)生.dbf”,具體操作如下。①選擇“文件”/“新建”命令,選擇“新建文件”按鈕,新建一個(gè)表單。在表單空白處右鍵單擊,選擇“數(shù)據(jù)環(huán)境”命令,打開(kāi)“數(shù)據(jù)環(huán)境設(shè)計(jì)器”對(duì)話框,同時(shí)打開(kāi)“添加表或視圖”對(duì)話框,如圖10.35所示。圖10.35添加表或視圖
②在“添加表或視圖”對(duì)話框中,選擇“學(xué)生”表,單擊“添加”按鈕。
這樣“學(xué)生”表就添加到“數(shù)據(jù)環(huán)境設(shè)計(jì)器”中了,如圖10.36所示。圖10.36添加到數(shù)據(jù)環(huán)境設(shè)計(jì)器中的“學(xué)生”表③單擊“關(guān)閉”按鈕,將“添加表或視圖”窗口關(guān)閉。④用鼠標(biāo)將“學(xué)生”表中的字段逐一拖入到表單中,如圖10.37所示。⑤保存并運(yùn)行表單。
圖10.37添加到表單中的各個(gè)字段10.3表單控件的操作
10.3.1控件的基本操作
當(dāng)表單上添加了控件后,需要對(duì)這些控件進(jìn)行編輯操作。這些操作包括:對(duì)控件的選定、移動(dòng)、復(fù)制、刪除、大小的調(diào)整以及改變控件的顏色。
● 選定控件。在對(duì)控件修改之前首先要對(duì)所修改的控件進(jìn)行選定?!?移動(dòng)控件。要移動(dòng)一個(gè)或多個(gè)控件,首先要將其選定,然后用鼠標(biāo)將控件拖動(dòng)到新的位置上,再釋放鼠標(biāo)。● 調(diào)整控件大小。要調(diào)整控件的大小,首先要選擇這些控件,然后用鼠標(biāo)指向控件周圍的黑色小方塊,按住鼠標(biāo)左鍵并拖動(dòng),便可以調(diào)整這個(gè)控件的長(zhǎng)度、寬度或整體大小?!?復(fù)制控件。要復(fù)制控件,首先要選擇這些控件,然后選擇“編輯”/“復(fù)制”命令,再選擇“編輯”/“粘貼”命令,最后用鼠標(biāo)將復(fù)制出的新控件移到正確的位置上?!?刪除控件。要?jiǎng)h除控件,首先選擇這些控件,然后按Delete鍵,或者選擇“編輯”/“剪切”命令?!?改變控件的顏色。要改變一個(gè)或多個(gè)控件的顏色,首先選擇這些控件,然后單擊“調(diào)色板工具欄”按鈕出現(xiàn)如圖10.38所示的“調(diào)色板”對(duì)話框。
圖10.38“調(diào)色板”對(duì)話框10.3.2控件的布局“布局”工具欄上的各個(gè)按鈕及其功能如表10.2所示。10.3.3設(shè)置控件的Tab次序運(yùn)行表單時(shí),表單中的多個(gè)控件只能有一個(gè)控件直接接收用戶的輸入,也就是說(shuō)這個(gè)控件獲得了表單的當(dāng)前焦點(diǎn)。一個(gè)文本框只有獲得焦點(diǎn)才能直接接收鍵盤(pán)的輸入。在VisualFoxPro中提供了兩種方式來(lái)設(shè)置Tab鍵次序,即使用交互方式和使用列表方式。在設(shè)置時(shí)的具體操作方法如下。圖10.39“選項(xiàng)”對(duì)話框在交互方式下,設(shè)置Tab鍵次序的具體操作步驟如下。①選擇“顯示”/“Tab鍵次序”命令,或者單擊“表單設(shè)計(jì)器”工具欄上的“設(shè)置Tab鍵次序”按鈕,即可進(jìn)入Tab鍵次序設(shè)置狀態(tài)。這時(shí),在各個(gè)控件左上方出現(xiàn)深色小方塊,稱為Tab鍵次序盒,從中顯示該控件的Tab鍵次序號(hào)碼,如圖10.40所示。圖10.40交互式設(shè)置Tab鍵次序
②雙擊某個(gè)控件的Tab鍵次序盒,該控件就可以成為Tab鍵次序中的第一個(gè)控件。③按需要依次單擊其他控件,就可改變?cè)摽丶O(shè)置Tab鍵次序號(hào)碼。④單擊表單空白處,確認(rèn)設(shè)置并退出設(shè)置狀態(tài);按Esc鍵,放棄設(shè)置并退出設(shè)置狀態(tài)。
在列表方式下設(shè)置Tab鍵次序的具體操作步驟如下。①選擇“顯示”/“Tab鍵次序”命令,或者單擊“表單設(shè)計(jì)器”工具欄上的“設(shè)置Tab鍵次序”按鈕,打開(kāi)“Tab鍵次序”對(duì)話框,如圖10.41所示。圖10.41“Tab鍵次序”對(duì)話框②拖動(dòng)控件左側(cè)的移動(dòng)按鈕移動(dòng)控件,即可改變控件的Tab鍵次序。③單擊“按行”按鈕,將按各控件在表單上從左到右,從上到下自動(dòng)設(shè)置各個(gè)控件的Tab鍵次序;如果單擊“按列”按鈕,將按各控件在表單上從上到下、從左到右自動(dòng)設(shè)置各控件的Tab鍵次序。最后單擊“確定”按鈕即可。10.4常用表單控件
10.4.1標(biāo)簽控件和文本框控件
1.標(biāo)簽控件(Label)
標(biāo)簽控件是按照一定格式顯示文本信息,它可以為表單提供說(shuō)明性和提示性信息,標(biāo)簽常用屬性見(jiàn)表10.3。
(1)Caption屬性。該屬性用于指定標(biāo)簽的標(biāo)題文本。
(2)AutoSize屬性。該屬性表示是否根據(jù)文本內(nèi)容的長(zhǎng)度來(lái)自動(dòng)調(diào)整標(biāo)簽大小。(3)BackStyle屬性。
該屬性表示標(biāo)簽是否透明。其中0表示透明;1表示不透明。(4)BorderStyle屬性。該屬性表示標(biāo)簽是否帶有邊框。其中0表示無(wú)邊框;1表示有邊框。(5)WordWrap屬性。該屬性表示標(biāo)簽上顯示的文本是否換行。標(biāo)簽控件常用的事件有:Click事件和DblClick事件?!纠?0.3】設(shè)計(jì)一個(gè)表單,包含3個(gè)標(biāo)簽,當(dāng)單擊其中一個(gè)標(biāo)簽時(shí),其他兩個(gè)標(biāo)簽的文本互換。要求:3個(gè)標(biāo)簽均有邊框,文本內(nèi)容都是居中顯示,效果如圖10.42所示。圖10.42例10.3示意圖設(shè)計(jì)的具體步驟如下。①新建一個(gè)表單,然后向表單上添加3個(gè)標(biāo)簽。②設(shè)置3個(gè)標(biāo)簽的屬性,如表10.4所示。③分別設(shè)置3個(gè)標(biāo)簽的Click事件,其代碼如下。Label1的Click事件代碼:A=thisform.label2.captionThisform.label2.caption=thisform.label3.captionThisform.label3.caption=ALabel2的Click事件代碼:A=thisform.label1.captionThisform.label1.caption=thisform.label3.captionThisform.label3.caption=ALabel3的Click事件代碼:A=thisform.label1.captionThisform.label1.caption=thisform.label2.captionThisform.label2.caption=A2.文本框控件(Text)文本框用來(lái)進(jìn)行文本數(shù)據(jù)的輸入,它可以向程序輸入各種類型的數(shù)據(jù),也可以將程序的結(jié)果顯示輸出,還可以添加或編輯保存在數(shù)據(jù)表中非備注字段中的數(shù)據(jù)。文本框的常用屬性見(jiàn)表10.5。(1)ControlSource屬性。該屬性表示在文本框中顯示字段或變量的值。
(2)InpetMask屬性。該屬性用于指定在一個(gè)文本框中如何輸入和顯示數(shù)據(jù),其屬性值是一個(gè)字符串。各種模式符及其功能見(jiàn)表10.6。(3)PasswordChar屬性。該屬性用于指定文本框控件內(nèi)是顯示用戶輸入的字符還是顯示占位符,并指定用做占位符的字符。
(4)ReadOnly屬性。該屬性表示指定用戶能否編輯文本框,如果要使在文本框顯示的內(nèi)容不被用戶修改,則將其ReadOnly屬性設(shè)置為.T.。(5)Value屬性。該屬性表示返回文本框的當(dāng)前內(nèi)容,其默認(rèn)值是空串。【例10.4】設(shè)計(jì)一個(gè)判斷閏年的表單。用戶輸入年份后,系統(tǒng)判斷用戶輸入的年份是閏年還是平年,并顯示結(jié)果。設(shè)計(jì)步驟如下。向表單中添加兩個(gè)標(biāo)簽控件Label1,Label2,兩個(gè)文本框控件Text1,Text2,三個(gè)按鈕控件Command1,Command2,Command3,如圖10.43所示。圖10.43設(shè)計(jì)界面圖用戶在Text1文本控件輸入年份,單擊Command1按鈕,程序會(huì)判斷輸入的年份是否為閏年,并將結(jié)果輸出到Text2文本框和Label2標(biāo)簽中,如果是閏年Label2標(biāo)簽顯示藍(lán)色字符,否則顯示紅色。單擊Command2按鈕會(huì)清除Text1、Text2、Label2中的文本,把輸入焦點(diǎn)設(shè)置在Text1中,單擊Command3,系統(tǒng)退出。并且要求Label1中只能接受四位數(shù)字的輸入(通過(guò)InputMask實(shí)現(xiàn))。表單中各個(gè)控件的屬性見(jiàn)表10.7所示,在表單運(yùn)行時(shí),部分控件的屬性將被修改。程序說(shuō)明:①RGB()函數(shù)功能是返回一個(gè)用紅綠藍(lán)三個(gè)顏色分量表示的顏色;②AllTrim()函數(shù)是從指定的字符串中除去前后的空格。運(yùn)行表單,結(jié)果如圖10.44所示。圖10.44表單運(yùn)行圖10.4.2編輯框控件和列表框控件
1.編輯框(EditBox)控件編輯框可以用于輸入、編輯數(shù)據(jù),編輯框還有以下常用屬性。(1)AllowTabs屬性。
AllowTabs屬性表示在編輯框控件中能否使用Tab鍵。
(2)HideSelection屬性。該屬性表示當(dāng)編輯框失去焦點(diǎn)時(shí),編輯框中選定的文本是否仍顯示為選定狀態(tài)。
(3)ReadOnly屬性。該屬性表示用戶能否編輯編輯框中的內(nèi)容。
(4)ScrollBars屬性。
ScrollBars屬性表示編輯框是否具有滾動(dòng)條。(5)SelStart屬性。該屬性用于返回用戶在編輯框中所選文本的起始位置或插入點(diǎn)位置(沒(méi)有文本選定時(shí)),也可用于指定要選文本的起始位置或插入點(diǎn)位置。
(6)SelLength屬性。該屬性用于返回用戶在控件的文本輸入?yún)^(qū)中所選定字符的數(shù)目,或指定要選定的字符數(shù)目。(7)SelText屬性。該屬性用于返回用戶編輯區(qū)內(nèi)選定的文本,如果沒(méi)有選定任何文本,則返回空串。【例10.5】設(shè)計(jì)一個(gè)表單,表單上包含一個(gè)編輯框edit1和兩個(gè)命令按鈕command1(查找)和command2(替換),如圖10.45所示。圖10.45例10.1示意圖要求:?jiǎn)螕簟安檎摇卑粹o時(shí),查找編輯框中的單詞sunday;當(dāng)單擊“替換”按鈕時(shí),將單詞sunday替換為friday。具體設(shè)計(jì)步驟如下。①新建一個(gè)表單,然后向表單中添加一個(gè)編輯框和兩個(gè)命令按鈕。②設(shè)置各對(duì)象的屬性值如表10.8所示。2.列表框控件(List)
列表框是可供用戶選擇的選擇項(xiàng)。列表框的常用屬性如表10.9所示。(1)List屬性。該屬性用于存取列表框中數(shù)據(jù)條目的字符串?dāng)?shù)組。
(2)ListCount屬性。該屬性用于指明列表框中數(shù)據(jù)條目的數(shù)目,且在設(shè)置時(shí)不可用,在運(yùn)行時(shí)只允許讀寫(xiě)。
(3)RowSourceType屬性與RowSource屬性。
RowSourceType屬性表示列表框中條目數(shù)據(jù)源的類型,RowSource屬性表示列表框的條目數(shù)據(jù)源。(4)Value屬性。該屬性返回列表框中選定的條目。
(5)ColumnCount屬性。該屬性用于指定列表框的列數(shù)。
(6)ControlSource屬性。該屬性在列表框中的用法與其他控件中有所不同。(7)Selected屬性。該屬性用于表示列表框內(nèi)的某個(gè)條目是否處于選定狀態(tài)。(8)MultiSelect屬性。該屬性用于表示用戶能否在列表框控件內(nèi)進(jìn)行多重選定。
【例10.6】編輯框和列表框示例。設(shè)計(jì)圖10.46所示的表單。完成以下功能:在文本框中輸入字符,單擊“添加”按鈕即可將字符添加到列表框中,在列表框中選中適當(dāng)?shù)臈l目,單擊“>>”按鈕,即可把選中的條目添加如編輯框中進(jìn)行編輯。
圖10.46設(shè)計(jì)界面圖設(shè)計(jì)步驟:向表單添加三個(gè)標(biāo)簽控件Label1、Label2、Label3;一個(gè)文本框控件Text1;一個(gè)列表框控件List1;一個(gè)編輯框控件Edit1;三個(gè)命令按鈕控件Command1、Command2、Command3。表單及各個(gè)控件屬性見(jiàn)表10.10。圖10.47表單運(yùn)行圖10.4.3命令按鈕控件和命令組控件
命令按鈕控件和命令按鈕組控件在應(yīng)用程序中起控制作用,其主要用于完成某一特定的任務(wù)。
1.命令按鈕(CommandButton)控件命令按鈕是用來(lái)啟動(dòng)某個(gè)事件代碼、完成特定功能,其操作代碼常常放在Click事件過(guò)程中。
(1)Default屬性。當(dāng)Default屬性值為.T.時(shí),命令按鈕稱為“確認(rèn)”按鈕。
(2)Cancel屬性。當(dāng)Cancel屬性值為.T.時(shí),命令按鈕稱為“取消”按鈕。(3)Enabled屬性。該屬性用于指定表單或控件能否響應(yīng)由用戶引發(fā)的事件。(4)Visible屬性。該屬性用于指定對(duì)象是可見(jiàn)還是隱藏?!纠?0.7】設(shè)計(jì)一個(gè)用戶登錄表單,如圖10.48所示。設(shè)計(jì)時(shí)的具體步驟如下。圖10.48“例10.7”示意圖①新建一個(gè)表單,并向表單添加2個(gè)標(biāo)簽、1個(gè)文本框和2個(gè)命令按鈕。②設(shè)置對(duì)象的屬性。本例中各對(duì)象的設(shè)置如表10.11所示。2.命令按鈕組(CommandGroup)控件
命令按鈕組控件是包含一組命令按鈕的容器控件,用戶可以單個(gè)或作為一組操作其中的按鈕。
命令按鈕組的常用屬性介紹如下。
(1)ButtonCount屬性。該屬性表示指定命令組中命令按鈕的數(shù)目。
(2)Buttons屬性。該屬性用于存取命令按鈕組中各按鈕的數(shù)組。
(3)Value屬性。該屬性表示指定命令按鈕組的當(dāng)前狀態(tài)?!纠?0.8】命令按鈕組示例。設(shè)計(jì)如圖10.49所示表單,瀏覽“學(xué)生.dbf”中相關(guān)字段的信息,使用包含四個(gè)按鈕的命令按鈕組控件。設(shè)計(jì)步驟如下。圖10.49表單設(shè)計(jì)圖
進(jìn)入表單設(shè)計(jì)器,打開(kāi)數(shù)據(jù)環(huán)境,將“學(xué)生.dbf”添加入數(shù)據(jù)環(huán)境,把“姓名”,“學(xué)號(hào)”,“性別”,“家庭地址”,“班級(jí)”字段選中,用鼠標(biāo)左鍵拖入表單,放在表單適當(dāng)位置。向表單中添加一個(gè)命令按鈕組控件CommandGroup1,在命令按鈕組控件上點(diǎn)擊鼠標(biāo)右鍵,在快捷菜單中選取“生成器…”,按圖10.50所示設(shè)置生成器。圖10.50命令按鈕生成器
添加一個(gè)按鈕控件Command1,按鈕上文字為“退出”。運(yùn)行結(jié)果如圖10.51所示。圖10.51運(yùn)行結(jié)果圖10.4.4復(fù)選框控件和選項(xiàng)按鈕組控件
1.復(fù)選框(CheckBox)控件復(fù)選框一般用來(lái)顯示和設(shè)置邏輯型字段或變量的值,表示為真(.T.)或假(.F.)兩個(gè)狀態(tài),可以單擊復(fù)選框來(lái)改變其值。當(dāng)處于“真”狀態(tài)時(shí),復(fù)選框內(nèi)顯示一個(gè)對(duì)勾;否則,復(fù)選框內(nèi)為空白。
復(fù)選框的常見(jiàn)屬性介紹如下。
(1)Caption屬性。Caption屬性用來(lái)指定顯示在復(fù)選框旁邊的文字。(2)Value屬性。Value屬性用來(lái)指明復(fù)選框的當(dāng)前狀態(tài),作為復(fù)選框未從數(shù)據(jù)源獲得數(shù)據(jù)時(shí)的默認(rèn)值。
(3)ControlSource屬性。
ControlSource屬性用來(lái)指明與復(fù)選框建立聯(lián)系的數(shù)據(jù)源。2.選項(xiàng)按鈕組(OptionGroup)控件選項(xiàng)按鈕組控件是包含選項(xiàng)按鈕的一個(gè)容器,一個(gè)選項(xiàng)按鈕組包含若干個(gè)選項(xiàng)按鈕,但用戶只能從中選擇一個(gè)按鈕。
選項(xiàng)按鈕組控件常見(jiàn)的屬性介紹如下。(1)ButtonCount屬性。該屬性用于指定選項(xiàng)組中選項(xiàng)按鈕的數(shù)目。
(2)Value屬性。該屬性用來(lái)表示選項(xiàng)組中哪個(gè)選項(xiàng)按鈕被選中。
(3)ControlSource屬性。該屬性用來(lái)表示與選項(xiàng)組建立聯(lián)系的數(shù)據(jù)源。(4)Buttons屬性。該屬性用于存取選項(xiàng)組中每個(gè)按鈕的數(shù)組?!纠?0.9】使用復(fù)選框和選項(xiàng)按鈕組設(shè)置編輯框中字符的字體、字形和字體顏色。設(shè)計(jì)步驟如下。打開(kāi)表單設(shè)計(jì)器,在新表單中添加四個(gè)標(biāo)簽控件Label1、Lable2、Label3、Label4,三個(gè)復(fù)選框控件Check1、Check2、Check3;一個(gè)文本框控件Text1;兩個(gè)選項(xiàng)按鈕組控件OptionGruop1、OptionGroup2;一個(gè)按鈕控件Command1。如圖10.52所示。圖10.52表單設(shè)計(jì)圖設(shè)置控件屬性見(jiàn)表10.12。在選項(xiàng)按鈕組控件OptionGroup1上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“生成器”,如圖10.53中設(shè)置。圖10.53“選項(xiàng)組生成器”的按鈕和布局選項(xiàng)卡1
在選項(xiàng)按鈕組控件OptionGroup2上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“生成器”,如圖10.54中設(shè)置。圖10.54“選項(xiàng)組生成器”的按鈕和布局選項(xiàng)卡2表單的運(yùn)行結(jié)果見(jiàn)圖10.55所示。
圖10.55表單運(yùn)行圖10.4.5組合框控件與表格控件
1.組合框(ComboBox)控件組合框控件兼有列表框與文本框的功能,也是提供一組條目可讓用戶進(jìn)行選擇。組合框的常見(jiàn)屬性如表10.13所示。2.表格(Grid)控件表格控件主要用于顯示和操作多行數(shù)據(jù)。一個(gè)表格對(duì)象可以包含若干個(gè)列對(duì)象,每一列都包含一個(gè)標(biāo)頭和其他控件。
圖10.56“表格生成器”對(duì)話框在“表格生成器”對(duì)話框中有4個(gè)選項(xiàng)卡,各選項(xiàng)卡的功能及其含義介紹如下?!?“表格項(xiàng)”選項(xiàng)卡:選擇數(shù)據(jù)源,指明要在表格內(nèi)顯示的字段?!?“樣式”選項(xiàng)卡:選擇表格顯示的樣式,如標(biāo)準(zhǔn)型、專業(yè)型、賬務(wù)型、浮雕型?!?“布局”選項(xiàng)卡:用于指明各列的標(biāo)題、控件類型以及調(diào)整各列列寬?!?“關(guān)系”選項(xiàng)卡:用于設(shè)置一個(gè)一對(duì)多表單中,父表的關(guān)鍵字段與子表的相關(guān)索引。表格的常用屬性介紹如下。
(1)RecordsourceType屬性與Recordsource屬性。
RecordsourceType屬性是指明表格數(shù)據(jù)源的類型,Recordsource屬性是指定表格數(shù)據(jù)源。(2)ColumCount屬性。該屬性表示指定表格的列數(shù),即一個(gè)表格對(duì)象所包含列對(duì)象的數(shù)目。
(3)LinkMaster屬性。該屬性用來(lái)指定表格控件中所顯示子表的父表名稱,其主要用于在父表和表格中顯示的子表(由Recordsource屬性指定)之間建立一對(duì)多關(guān)系。(4)ChildOrder屬性。該屬性用來(lái)指定為建立一對(duì)多的關(guān)聯(lián)關(guān)系子表所要用到的索引,類似于SETORDER命令,該屬性在設(shè)計(jì)時(shí)可以使用,在運(yùn)行時(shí)只允許只讀。(5)RelationalExpr屬性。該屬性用于確定基于主表(由LinkMaster屬性指定)字段的關(guān)聯(lián)表達(dá)式。(6)ControlSource屬性。該屬性用于指定在列中顯示數(shù)據(jù)源,常見(jiàn)的是表中的一個(gè)字段。
(7)CurrentControl屬性。該屬性用于指定列對(duì)象中的一個(gè)控件,該控件用以顯示和接收列中活動(dòng)單元格的數(shù)據(jù)。
(8)Sparse屬性。該屬性用于確定CurrentControl屬性是影響列中所有單元格,還是只影響活動(dòng)單元格。(9)Caption屬性。該屬性用來(lái)表示對(duì)象的標(biāo)題文本,顯示在列的頂部。(10)Alignment屬性。該屬性用來(lái)表示標(biāo)題文本在對(duì)象中顯示的對(duì)齊方式,對(duì)標(biāo)題對(duì)象和列對(duì)象的設(shè)置值見(jiàn)表10.14。【例10.10】設(shè)計(jì)表單,包含組合框和表格。在組合框中顯示“學(xué)籍管理”數(shù)據(jù)庫(kù)中的數(shù)據(jù)表名稱,選中數(shù)據(jù)表后,在表格中顯示相應(yīng)的數(shù)據(jù)表內(nèi)容。設(shè)計(jì)步驟:打開(kāi)表單設(shè)計(jì)器,添加一個(gè)組合框Combo1,一個(gè)表格Grid1,一個(gè)命令按鈕Command1,一個(gè)標(biāo)簽Label1,如圖10.57所示。圖10.57表單設(shè)計(jì)圖按照表10.15修改表單和控件的屬性。圖10.58表單運(yùn)行圖10.4.6計(jì)時(shí)器控件和微調(diào)控件
1.計(jì)時(shí)器(Timer)控件計(jì)時(shí)器控件是利用系統(tǒng)時(shí)鐘周期來(lái)控制某些具有規(guī)律性的周期任務(wù)的定時(shí)操作。計(jì)時(shí)器控件最主要的應(yīng)用就是檢查系統(tǒng)時(shí)鐘,決定是否到了某個(gè)程序執(zhí)行的時(shí)間。計(jì)時(shí)器控件在表單運(yùn)行時(shí)不可見(jiàn)。計(jì)時(shí)器控件的常見(jiàn)主要屬性如下。
(1)Enabled屬性。該屬性表示表單或控件能否響應(yīng)由用戶引發(fā)的事件。(2)Interval屬性。該屬性表示調(diào)用計(jì)時(shí)器事件的時(shí)間間隔,通常是以毫秒為單位。2.微調(diào)(Spinner)控件微調(diào)控件用于接受給定范圍內(nèi)的數(shù)值輸入。使用微調(diào)按鈕控件,可以代替鍵盤(pán)接受一個(gè)值,還可以在當(dāng)前值的基礎(chǔ)上做微小的增量或減量調(diào)節(jié)。微調(diào)控件的常見(jiàn)屬性介紹如下。
(1)Increment屬性。該屬性表示在單擊微調(diào)控件的向上或向下箭頭鍵時(shí),增加或減少值。(2)SpinnerHighValue屬性。該屬性表示在通過(guò)單擊向上箭頭按鈕或者按下向上箭頭光標(biāo)鍵時(shí),微調(diào)控件可達(dá)到的最大值。(3)SpinnerLowValue屬性。該屬性表示在通過(guò)單擊向下箭頭按鈕或者按下向下箭頭光標(biāo)鍵時(shí),微調(diào)控件可達(dá)到的最小值?!纠?0.11】設(shè)計(jì)一個(gè)倒數(shù)計(jì)時(shí)器,使用微調(diào)控件設(shè)定倒計(jì)數(shù)時(shí)間(秒),用按鈕控制計(jì)數(shù)開(kāi)始,在倒計(jì)數(shù)時(shí)顯示當(dāng)前剩余時(shí)間,計(jì)數(shù)結(jié)束顯示“倒數(shù)計(jì)時(shí)器時(shí)間到”。設(shè)計(jì)步驟:打開(kāi)表單設(shè)計(jì)器,在新表單中放三個(gè)標(biāo)簽控件Label1、Label2、Label3;兩個(gè)命令按鈕控件Command1、Command2;一個(gè)定時(shí)器控件Timer1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年南昌應(yīng)用技術(shù)師范學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析
- 2025年麗水職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析(必刷)
- 2025年山西職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)附答案解析
- 2025年理塘縣幼兒園教師招教考試備考題庫(kù)帶答案解析(奪冠)
- 2025年湖南農(nóng)業(yè)大學(xué)馬克思主義基本原理概論期末考試模擬題帶答案解析(奪冠)
- 2025年平山縣幼兒園教師招教考試備考題庫(kù)帶答案解析
- 2025年嘉義縣幼兒園教師招教考試備考題庫(kù)帶答案解析(必刷)
- 2025年寧遠(yuǎn)縣幼兒園教師招教考試備考題庫(kù)帶答案解析
- 2025年新疆鐵道職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)附答案解析
- 2026年貴州輕工職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試模擬測(cè)試卷帶答案解析
- 2026年全職家庭教育指導(dǎo)師模擬測(cè)試題
- 2026河北石家莊技師學(xué)院選聘事業(yè)單位工作人員36人筆試備考試題及答案解析
- (正式版)DB41∕T 2987-2025 《在線教育課程資源制作規(guī)范》
- AOI培訓(xùn)課件教學(xué)課件
- 廠房鋼結(jié)構(gòu)安裝測(cè)量方案
- 2026春譯林版新版八年級(jí)下冊(cè)英語(yǔ)單詞默寫(xiě)表
- 馬年猜猜樂(lè)+(新年祝福篇41題)主題班會(huì)課件
- DB33T 2256-2020 大棚草莓生產(chǎn)技術(shù)規(guī)程
- 《建設(shè)工程造價(jià)咨詢服務(wù)工時(shí)標(biāo)準(zhǔn)(房屋建筑工程)》
- 10s管理成果匯報(bào)
- 半導(dǎo)體技術(shù)合作開(kāi)發(fā)合同樣式
評(píng)論
0/150
提交評(píng)論