




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第8章 表單設(shè)計基礎(chǔ) 第第8 8章章 表單設(shè)計基礎(chǔ)表單設(shè)計基礎(chǔ) 學(xué)習(xí)目的與要求:學(xué)習(xí)目的與要求:表單表單(Form)(Form)在在Visual BasicVisual Basic和和Visual C+Visual C+中中稱為窗體,它是應(yīng)用程序與用戶之間的基本接口。稱為窗體,它是應(yīng)用程序與用戶之間的基本接口。表單是創(chuàng)造良好的圖形化用戶界面的基本工具,根表單是創(chuàng)造良好的圖形化用戶界面的基本工具,根據(jù)應(yīng)用程序設(shè)計的目的不同,可有各種表現(xiàn)形式。據(jù)應(yīng)用程序設(shè)計的目的不同,可有各種表現(xiàn)形式。表單上可以放置有關(guān)的控件,如標(biāo)簽、文本框、命表單上可以放置有關(guān)的控件,如標(biāo)簽、文本框、命令按鈕、表格、組合框等,
2、以實現(xiàn)不同的設(shè)計要求。令按鈕、表格、組合框等,以實現(xiàn)不同的設(shè)計要求。只有學(xué)好了表單及有關(guān)的控件知識,才能開發(fā)出高只有學(xué)好了表單及有關(guān)的控件知識,才能開發(fā)出高質(zhì)量的應(yīng)用程序。質(zhì)量的應(yīng)用程序。 第第8 8章章 表單設(shè)計基礎(chǔ)表單設(shè)計基礎(chǔ) l8.18.1表單設(shè)計引例表單設(shè)計引例 l8.28.2表單設(shè)計的幾種方法表單設(shè)計的幾種方法 l8.3 8.3 上機(jī)實訓(xùn)上機(jī)實訓(xùn) l8.4 本 章 習(xí) 題8.1 8.1 表單設(shè)計引例表單設(shè)計引例 在創(chuàng)建一個表單之前,首先要明確這個表單在創(chuàng)建一個表單之前,首先要明確這個表單需要完成什么功能,它和數(shù)據(jù)庫中的哪些數(shù)據(jù)有需要完成什么功能,它和數(shù)據(jù)庫中的哪些數(shù)據(jù)有關(guān),然后再具體
3、考慮設(shè)置表單的數(shù)據(jù)環(huán)境,向表關(guān),然后再具體考慮設(shè)置表單的數(shù)據(jù)環(huán)境,向表單添加什么對象(或控件)以及如何設(shè)置這些對單添加什么對象(或控件)以及如何設(shè)置這些對象的屬性,編寫有關(guān)的事件代碼。要設(shè)計的表單象的屬性,編寫有關(guān)的事件代碼。要設(shè)計的表單功能也決定了用什么方法來創(chuàng)建表單。功能也決定了用什么方法來創(chuàng)建表單。 8.1.1 8.1.1 表單的創(chuàng)建和運行表單的創(chuàng)建和運行 1與表單設(shè)計有關(guān)的基本知識 要設(shè)計一個表單,首先要了解【表單設(shè)計器】要設(shè)計一個表單,首先要了解【表單設(shè)計器】界面的有關(guān)知識和【表單設(shè)計器】打開的方法。表界面的有關(guān)知識和【表單設(shè)計器】打開的方法。表單設(shè)計時一般要用到表單控件以及對這些控
4、件進(jìn)行單設(shè)計時一般要用到表單控件以及對這些控件進(jìn)行屬性設(shè)置的屬性窗口、【布局】工具欄等。【表單屬性設(shè)置的屬性窗口、【布局】工具欄等?!颈韱卧O(shè)計器】窗口、【表單設(shè)計器】工具欄、【屬性】設(shè)計器】窗口、【表單設(shè)計器】工具欄、【屬性】窗口、【表單控件】工具欄見圖所示。窗口、【表單控件】工具欄見圖所示。圖8.1 【表單設(shè)計器】窗口、【表單設(shè)計器】工具欄、【屬性】窗口、【表單控件】工具欄 1 1)表單設(shè)計器工具欄)表單設(shè)計器工具欄 【表單設(shè)計器】工具欄用來管理與設(shè)計表單有關(guān)的窗【表單設(shè)計器】工具欄用來管理與設(shè)計表單有關(guān)的窗口和命令,包括【設(shè)置口和命令,包括【設(shè)置Tab鍵次序】、【數(shù)據(jù)環(huán)境】、鍵次序】、【數(shù)
5、據(jù)環(huán)境】、【屬性窗口】、【代碼窗口】、【表單控件工具欄】、【屬性窗口】、【代碼窗口】、【表單控件工具欄】、【調(diào)色板工具欄】、【布局工具欄】、【表單生成器】、【調(diào)色板工具欄】、【布局工具欄】、【表單生成器】、【自動格式】等【自動格式】等9個按鈕,如圖個按鈕,如圖8. .2所示。所示。 圖8.2 【表單設(shè)計器】工具欄 2 2)屬性窗口)屬性窗口 【屬性】窗口用于表單設(shè)計時對對象【屬性】窗口用于表單設(shè)計時對對象( (控件控件) )的屬性進(jìn)行設(shè)置,如圖的屬性進(jìn)行設(shè)置,如圖8.38.3所示?!緦傩浴看翱诎尽!緦傩浴看翱诎ā救俊俊ⅰ緮?shù)據(jù)】、【方法程序】、【布括【全部】、【數(shù)據(jù)】、【方法程序】、【布
6、局】、【其他】局】、【其他】5 5個選項卡。個選項卡。 圖8.3 【屬性】窗口 (1 1)【全部】選項卡)【全部】選項卡 【全部】選項卡包含了所選對象【全部】選項卡包含了所選對象( (控件控件) )的所有屬性、的所有屬性、方法程序、事件代碼的設(shè)置或說明,包含了其他方法程序、事件代碼的設(shè)置或說明,包含了其他4 4個選項卡個選項卡的全部內(nèi)容。的全部內(nèi)容。 (2 2)【數(shù)據(jù)】選項卡)【數(shù)據(jù)】選項卡 【數(shù)據(jù)】選項卡包含了所選對象【數(shù)據(jù)】選項卡包含了所選對象( (控件控件) )的所有的所有“數(shù)據(jù)數(shù)據(jù)”的屬性設(shè)置,如的屬性設(shè)置,如ControlSourceControlSource、FormatForma
7、t等屬性。等屬性。 (3 3)【方法程序】選項卡)【方法程序】選項卡 【方法程序】選項卡包含了所選對象【方法程序】選項卡包含了所選對象( (控件控件) )的所有的所有“方方法法”和和“事件事件”是否是是否是“默認(rèn)過程默認(rèn)過程”還是還是“用戶自定過程用戶自定過程”的說明。的說明。 (4 4)【布局】選項卡)【布局】選項卡【布局】選項卡包含了所選對象【布局】選項卡包含了所選對象( (控件控件) )的所有的所有“布局布局”的屬性設(shè)置,如的屬性設(shè)置,如AlignmentAlignment、BackColorBackColor、BackStyleBackStyle、VisibleVisible、Text
8、Text等屬性。等屬性。 (5 5)【其他】選項卡)【其他】選項卡 【其他】選項卡包含了所選對象【其他】選項卡包含了所選對象( (控件控件) )的所有的所有“其他其他”的屬性設(shè)置,如的屬性設(shè)置,如Name Name 、EnabledEnabled等屬性。等屬性。 在【表單設(shè)計器】窗口打開的情況下,打開【屬性】窗在【表單設(shè)計器】窗口打開的情況下,打開【屬性】窗口有以下幾種方法:口有以下幾種方法:n在【表單設(shè)計器】窗口單擊右鍵,在彈出的快捷菜單中選擇【屬性】命令在【表單設(shè)計器】窗口單擊右鍵,在彈出的快捷菜單中選擇【屬性】命令 n在【表單設(shè)計器】工具欄中單擊【屬性窗口】按鈕在【表單設(shè)計器】工具欄中單
9、擊【屬性窗口】按鈕 n執(zhí)行系統(tǒng)菜單【顯示】執(zhí)行系統(tǒng)菜單【顯示】| |【屬性】命令【屬性】命令 3)代碼窗口 【代碼】窗口是用來進(jìn)行代碼編寫的窗口,它包【代碼】窗口是用來進(jìn)行代碼編寫的窗口,它包括括3 3個部分:選中的個部分:選中的“對象對象”、當(dāng)前對象的選中、當(dāng)前對象的選中“過過程程”、具體的代碼、具體的代碼( (程序程序) ),如圖,如圖8.48.4所示。所示。 在【表單設(shè)計器】窗口打開的情況下,打開【代碼】窗口有以下幾種方法: n在【表單設(shè)計器】窗口單擊右鍵,在彈出的快捷菜單中選擇【屬性】命令 n在【表單設(shè)計器】工具欄中單擊【屬性窗口】按鈕 1.執(zhí)行系統(tǒng)菜單【顯示】|【屬性】命令 3)代碼
10、窗口 【代碼】窗口是用來進(jìn)行代碼編寫的窗口,它包【代碼】窗口是用來進(jìn)行代碼編寫的窗口,它包括括3 3個部分:選中的個部分:選中的“對象對象”、當(dāng)前對象的選中、當(dāng)前對象的選中“過過程程”、具體的代碼、具體的代碼( (程序程序) ),如圖,如圖8.48.4所示。所示。圖8.4 【代碼】窗口 2新建表單 啟動或打開【表單啟動或打開【表單設(shè)計設(shè)計器】窗口。打開【表單設(shè)器】窗口。打開【表單設(shè)計器】窗口,有以下幾種常用的方法:計器】窗口,有以下幾種常用的方法: 1 1)執(zhí)行系統(tǒng)菜單)執(zhí)行系統(tǒng)菜單【新建】【新建】命令,在打開的命令,在打開的【新建】【新建】對話對話框中選中框中選中【表單】【表單】單選鈕后單擊
11、單選鈕后單擊【新建文件】【新建文件】按鈕。這種方法建立按鈕。這種方法建立的表單不會記載在項目管理器中。的表單不會記載在項目管理器中。 2 2)在打開的)在打開的【項目管理器】【項目管理器】中,選中中,選中【全部】【全部】或或【文檔】【文檔】選項卡,選中列表框中的選項卡,選中列表框中的【表單】【表單】項,最后單擊項,最后單擊【新建】【新建】按鈕。這按鈕。這種方法建立的表單會自動記載在項目管理器中。種方法建立的表單會自動記載在項目管理器中。 3 3)在)在【命令】【命令】窗口,輸入以下命令。窗口,輸入以下命令。 CREATE FORM CREATE FORM 如果對一個已經(jīng)存在的表單進(jìn)行修改,也會
12、打開【表單設(shè)計如果對一個已經(jīng)存在的表單進(jìn)行修改,也會打開【表單設(shè)計器】窗口。器】窗口。 4)在打開的【項目管理器】中,選中【全部】或【文檔】選項卡,展開列表框中的【表單】項,選中一個具體的表單,最后單擊【修改】按鈕。 5)在【命令】窗口,輸入以下命令。 MODIFY FORM 打開了【表單設(shè)計器】窗口就可以對表單進(jìn)行設(shè)計或進(jìn)行修改。 3運行表單 運行一個表單可用以下方法運行一個表單可用以下方法 1 1)在【表單設(shè)計器】窗口單擊右鍵,在彈出的快)在【表單設(shè)計器】窗口單擊右鍵,在彈出的快捷菜單中選擇【執(zhí)行表單】命令。捷菜單中選擇【執(zhí)行表單】命令。 2 2)在打開的【項目管理器】中,選中【全部】或)
13、在打開的【項目管理器】中,選中【全部】或【文檔】選項卡,展開列表框中的【表單】項,選中一【文檔】選項卡,展開列表框中的【表單】項,選中一個具體的表單,最后單擊【運行】按鈕。個具體的表單,最后單擊【運行】按鈕。 3 3)在【命令】窗口,輸入以下命令。)在【命令】窗口,輸入以下命令。 DO FORM DO FORM 4 4)在標(biāo)準(zhǔn)工具欄中單擊)在標(biāo)準(zhǔn)工具欄中單擊 “運行運行” 按鈕。按鈕。8.1.2 表單的數(shù)據(jù)環(huán)境1設(shè)置數(shù)據(jù)環(huán)境的意義 表單或表單集的數(shù)據(jù)環(huán)境可以看成是一種表單或表單集的數(shù)據(jù)環(huán)境可以看成是一種Visual FoxPro6.0Visual FoxPro6.0的的對象,在其中可以設(shè)定運行
14、表單時要打開的表或視圖,并且可進(jìn)一對象,在其中可以設(shè)定運行表單時要打開的表或視圖,并且可進(jìn)一步設(shè)定表與表之間的關(guān)系,甚至可以設(shè)定打開文件的讀寫狀態(tài)。也步設(shè)定表與表之間的關(guān)系,甚至可以設(shè)定打開文件的讀寫狀態(tài)。也就是說,數(shù)據(jù)環(huán)境把用戶原來使用命令對數(shù)據(jù)庫、表,以及創(chuàng)建表就是說,數(shù)據(jù)環(huán)境把用戶原來使用命令對數(shù)據(jù)庫、表,以及創(chuàng)建表間關(guān)系的操作,完全用對象屬性的設(shè)定來代替了,并把數(shù)據(jù)庫的打間關(guān)系的操作,完全用對象屬性的設(shè)定來代替了,并把數(shù)據(jù)庫的打開、關(guān)聯(lián)、狀態(tài)讀寫以及關(guān)閉操作作為數(shù)據(jù)環(huán)境的屬性。正常情況開、關(guān)聯(lián)、狀態(tài)讀寫以及關(guān)閉操作作為數(shù)據(jù)環(huán)境的屬性。正常情況下,數(shù)據(jù)環(huán)境中加載的表、視圖將隨表單的打開而
15、自動打開,隨表下,數(shù)據(jù)環(huán)境中加載的表、視圖將隨表單的打開而自動打開,隨表單的關(guān)閉而自動關(guān)閉。除此之外,對表單加載數(shù)據(jù)環(huán)境,可以方便單的關(guān)閉而自動關(guān)閉。除此之外,對表單加載數(shù)據(jù)環(huán)境,可以方便表單的設(shè)計。表單的設(shè)計。 2打開【數(shù)據(jù)環(huán)境】設(shè)計器 設(shè)置表單或表單集的數(shù)據(jù)環(huán)境,。打開一個設(shè)置表單或表單集的數(shù)據(jù)環(huán)境,。打開一個表單或表單集后打開【數(shù)據(jù)環(huán)境】設(shè)計器的方法表單或表單集后打開【數(shù)據(jù)環(huán)境】設(shè)計器的方法有以下有以下3 3種:種:1 1)執(zhí)行系統(tǒng)菜單【顯示】)執(zhí)行系統(tǒng)菜單【顯示】| |【數(shù)據(jù)環(huán)境】命【數(shù)據(jù)環(huán)境】命令。令。2 2)在【表單設(shè)計器】窗口單擊右鍵,在彈出)在【表單設(shè)計器】窗口單擊右鍵,在彈出
16、的快捷菜單中選擇【數(shù)據(jù)環(huán)境】命令。的快捷菜單中選擇【數(shù)據(jù)環(huán)境】命令。3 3)在【表單設(shè)計器】工具欄中單擊【數(shù)據(jù)環(huán))在【表單設(shè)計器】工具欄中單擊【數(shù)據(jù)環(huán)境】按鈕境】按鈕。 3向【數(shù)據(jù)環(huán)境】添加表或視圖 在打開【數(shù)據(jù)環(huán)境】設(shè)計器后,可以對【數(shù)據(jù)環(huán)境】在打開【數(shù)據(jù)環(huán)境】設(shè)計器后,可以對【數(shù)據(jù)環(huán)境】添加表或視圖,添加的方法主要有以下添加表或視圖,添加的方法主要有以下2 2種種 1 1)在【數(shù)據(jù)環(huán)境】設(shè)計器窗口單擊右鍵,在彈出的快)在【數(shù)據(jù)環(huán)境】設(shè)計器窗口單擊右鍵,在彈出的快捷菜單中選擇【添加】命令。捷菜單中選擇【添加】命令。 2 2)執(zhí)行系統(tǒng)菜單【數(shù)據(jù)環(huán)境】)執(zhí)行系統(tǒng)菜單【數(shù)據(jù)環(huán)境】| |【添加】命令
17、?!咎砑印棵?。 4從【數(shù)據(jù)環(huán)境】中移去表或視圖 打開【數(shù)據(jù)環(huán)境】設(shè)計器后,移去的方法主要有以下打開【數(shù)據(jù)環(huán)境】設(shè)計器后,移去的方法主要有以下2 2種:種:1 1)在【數(shù)據(jù)環(huán)境】設(shè)計器窗口單擊右鍵,在彈出的快)在【數(shù)據(jù)環(huán)境】設(shè)計器窗口單擊右鍵,在彈出的快捷菜單中選擇【添加】命令。捷菜單中選擇【添加】命令。2 2)執(zhí)行系統(tǒng)菜單【數(shù)據(jù)環(huán)境】)執(zhí)行系統(tǒng)菜單【數(shù)據(jù)環(huán)境】| |【添加】命令?!咎砑印棵睢?4從【數(shù)據(jù)環(huán)境】中移去表或視圖 在打開【數(shù)據(jù)環(huán)境】設(shè)計器后,移去的方法主要有以下在打開【數(shù)據(jù)環(huán)境】設(shè)計器后,移去的方法主要有以下2 2種:種: 1 1)在【數(shù)據(jù)環(huán)境】設(shè)計器窗口單擊右鍵,在彈出的快捷菜
18、)在【數(shù)據(jù)環(huán)境】設(shè)計器窗口單擊右鍵,在彈出的快捷菜單中選擇【移去】命令。單中選擇【移去】命令。2 2)執(zhí)行系統(tǒng)菜單【數(shù)據(jù)環(huán)境】)執(zhí)行系統(tǒng)菜單【數(shù)據(jù)環(huán)境】| |【移去】命令?!疽迫ァ棵?。 5在【數(shù)據(jù)環(huán)境】設(shè)計器窗口中設(shè)置表間的關(guān)系 要在【數(shù)據(jù)環(huán)境】設(shè)計器窗口中設(shè)置表間關(guān)系,可以將相應(yīng)的字段從要在【數(shù)據(jù)環(huán)境】設(shè)計器窗口中設(shè)置表間關(guān)系,可以將相應(yīng)的字段從主表拖到相關(guān)表中相匹配的索引標(biāo)識上,也可以將字段從主表拖到相關(guān)表主表拖到相關(guān)表中相匹配的索引標(biāo)識上,也可以將字段從主表拖到相關(guān)表中的字段上。如果和主表中的字段對應(yīng)的相關(guān)表中沒有索引標(biāo)識,系統(tǒng)將中的字段上。如果和主表中的字段對應(yīng)的相關(guān)表中沒有索引標(biāo)識
19、,系統(tǒng)將提示是否創(chuàng)建索引標(biāo)識。要建立關(guān)系,應(yīng)該選擇創(chuàng)建索引標(biāo)識。若要改變提示是否創(chuàng)建索引標(biāo)識。要建立關(guān)系,應(yīng)該選擇創(chuàng)建索引標(biāo)識。若要改變表間關(guān)系的屬性,只要在選定表示關(guān)系的線后,在【屬性】窗口中修改該表間關(guān)系的屬性,只要在選定表示關(guān)系的線后,在【屬性】窗口中修改該關(guān)系對象的相應(yīng)屬性即可。如果在數(shù)據(jù)庫設(shè)計時已經(jīng)對表建立了關(guān)系,則關(guān)系對象的相應(yīng)屬性即可。如果在數(shù)據(jù)庫設(shè)計時已經(jīng)對表建立了關(guān)系,則表加載到【數(shù)據(jù)環(huán)境】中時將自動建立表間關(guān)系。表加載到【數(shù)據(jù)環(huán)境】中時將自動建立表間關(guān)系。6將【數(shù)據(jù)環(huán)境】中的表、視圖、字段拖放到表單中 1 1)將【數(shù)據(jù)環(huán)境】中的表、視圖拖放到表單中,將)將【數(shù)據(jù)環(huán)境】中的表
20、、視圖拖放到表單中,將會自動生成一個表格會自動生成一個表格(Grid)(Grid)對象,該對象將與表或視圖綁對象,該對象將與表或視圖綁定在一起。定在一起。 2 2)將【數(shù)據(jù)環(huán)境】中的表、視圖中的字段拖放到表)將【數(shù)據(jù)環(huán)境】中的表、視圖中的字段拖放到表單中,將會自動生成一個文本框單中,將會自動生成一個文本框(Text)(Text)對象,該對象將與對象,該對象將與表或視圖中對應(yīng)的字段綁定在一起。表或視圖中對應(yīng)的字段綁定在一起。 8.1.3 登陸窗口的設(shè)計 下面通過一個表單設(shè)計的實例-登陸窗口的設(shè)計來了解表單設(shè)計的過程。 1.建立一個新表單 用上述章節(jié)介紹的方法,新建一個表單“Form1”,選中【表
21、單控件】工具欄中的標(biāo)簽對象,將標(biāo)簽拖放到“Form1”上,如圖8.5所示。 圖8.5 新建的表單 2.2.為表單放置為表單放置“對象對象”并設(shè)置屬性并設(shè)置屬性 在【屬性】窗口中選中標(biāo)簽的標(biāo)題屬性在【屬性】窗口中選中標(biāo)簽的標(biāo)題屬性“CaptionCaption”,在,在“屬性值輸入框?qū)傩灾递斎肟颉敝休斎胫休斎搿坝脩粲脩簟?,如圖如圖8.68.6所示。所示。 圖8.6 對象屬性值的設(shè)置方法 用同樣的方法在用同樣的方法在“Form1”Form1”中再加入一個中再加入一個標(biāo)簽標(biāo)簽,2 2個文本框個文本框,2 2個命令按鈕個命令按鈕,并對它們的有關(guān)屬性,并對它們的有關(guān)屬性進(jìn)行設(shè)置。要設(shè)置的對象屬性見表進(jìn)行
22、設(shè)置。要設(shè)置的對象屬性見表8.18.1所示,設(shè)所示,設(shè)計好的計好的“Form1”Form1”表單如圖表單如圖8.78.7所示。所示。 圖8.7 設(shè)計好的登陸窗口 3.3.為表單添加數(shù)據(jù)環(huán)境為表單添加數(shù)據(jù)環(huán)境 用上述章節(jié)介紹的方法,打開【數(shù)據(jù)環(huán)境】窗口,并加載用上述章節(jié)介紹的方法,打開【數(shù)據(jù)環(huán)境】窗口,并加載“useruser”表,如圖表,如圖8.88.8所示。所示。 圖8.8 設(shè)計好的登陸窗口 4.4.為表單編寫代碼為表單編寫代碼 打開【代碼】窗口,分別對有關(guān)打開【代碼】窗口,分別對有關(guān)“對象對象”的有關(guān)的有關(guān)“事事件件”輸入下列輸入下列代碼代碼: 輸入【確定】按鈕的輸入【確定】按鈕的Clic
23、k代碼代碼 sele usero=thisformif empt(o.txtxm.text) messagebox(用戶名不能為空!,48+0+0,操作提示) o.txtxm.setfocus() retuendifloca for allt(name)=allt(o.txtxm.text); .and. allt(password)=allt(o.txtkl.text)if found() messagebox(成功登陸!,64+0+0,操作提示)thisform.release*調(diào)用主界面*如果沒有設(shè)計好mainform表單則不要以下命令 do form mainformelse mess
24、agebox(“用戶名錯或密碼錯!”,16+0+0,“操作提示”) o.txtxm.setfocus()endifretu輸入【取消】按鈕的輸入【取消】按鈕的ClickClick代碼代碼 thisform.release thisform.release 5.運行表單將新建的表單以文件名將新建的表單以文件名“l(fā)oginform”loginform”保存,運行保存,運行l(wèi)oginformloginform表單后,分別輸入用戶名和密碼,如用戶名:張三;密碼:表單后,分別輸入用戶名和密碼,如用戶名:張三;密碼:111111。 注意:如果沒有建立注意:如果沒有建立”user”user”表,則不能運行程
25、序表,則不能運行程序。 “user”表的結(jié)構(gòu)如表表的結(jié)構(gòu)如表8.2所示,數(shù)據(jù)如表所示,數(shù)據(jù)如表8.3所示。所示。 8.2 8.2 表單設(shè)計的幾種方法表單設(shè)計的幾種方法 8.2.1 用表單向?qū)гO(shè)計表單 u通過【項目管理器】啟動表單向?qū)?在【項目管理器】中選擇【文檔】選項卡中的【表單】,單擊【新建】按鈕,則出現(xiàn)【新建表單】對話框,在【新建表單】對話框中單擊【表單向?qū)А堪粹o,則出現(xiàn)表單向?qū)У摹鞠驅(qū)нx取】對話框,如圖8.9所示。u通過系統(tǒng)菜單啟動表單向?qū)?執(zhí)行系統(tǒng)菜單【工具】|【向?qū)А縷【表單】命令,也能啟動如圖8.9所示的表單向?qū)А?圖8.9 表單向?qū)У南驅(qū)нx取對話框 1. 1. 建立一個建立一個“
26、單數(shù)據(jù)表單數(shù)據(jù)表”的表單的表單 要建立一個單數(shù)據(jù)表的表單,則在圖要建立一個單數(shù)據(jù)表的表單,則在圖8.98.9中選擇【表單向中選擇【表單向?qū)А亢髥螕簟敬_定】按鈕。導(dǎo)】后單擊【確定】按鈕。 步驟步驟1-1-字段選取字段選取 表單向?qū)У牡诒韱蜗驅(qū)У牡? 1步是字段選取,如圖步是字段選取,如圖8.108.10所示。完成后單擊【下一步】所示。完成后單擊【下一步】則進(jìn)入步驟則進(jìn)入步驟2 2。 步驟步驟2-2-選擇表單樣式選擇表單樣式表單向?qū)У牡诒韱蜗驅(qū)У牡? 2步是選擇表單樣式,如圖步是選擇表單樣式,如圖8.118.11所示。選擇一種需要的所示。選擇一種需要的樣式和按鈕的類型,完成后單擊【下一步】則進(jìn)入步
27、驟樣式和按鈕的類型,完成后單擊【下一步】則進(jìn)入步驟3 3。 步驟步驟3-3-排序次序排序次序 表單向?qū)У牡诒韱蜗驅(qū)У牡? 3步是選擇排序次序,如圖步是選擇排序次序,如圖8.128.12所示。選擇數(shù)據(jù)排序所示。選擇數(shù)據(jù)排序的依據(jù),即排序的字段,完成后單擊【下一步】則進(jìn)入步驟的依據(jù),即排序的字段,完成后單擊【下一步】則進(jìn)入步驟4 4。步驟步驟4-4-完成完成 表單向?qū)У牡诒韱蜗驅(qū)У牡? 4步是完成,如圖步是完成,如圖8.138.13所示。所示。 在該步驟,可以輸入表單的標(biāo)題,還可以預(yù)覽表單,如果在該步驟,可以輸入表單的標(biāo)題,還可以預(yù)覽表單,如果滿意,則單擊【完成】按鈕。如果不滿意,可以單擊【上一步
28、】滿意,則單擊【完成】按鈕。如果不滿意,可以單擊【上一步】進(jìn)行修改。圖進(jìn)行修改。圖8.148.14是表單預(yù)覽的效果圖。是表單預(yù)覽的效果圖。 圖8.14 表單預(yù)覽的效果圖 2. 2. 建立一個建立一個“雙數(shù)據(jù)表雙數(shù)據(jù)表”的表單的表單 要建立一個雙數(shù)據(jù)表的表單,則在圖要建立一個雙數(shù)據(jù)表的表單,則在圖8.98.9中選擇【一對多中選擇【一對多表單向?qū)А亢髥螕簟敬_定】按鈕。表單向?qū)А亢髥螕簟敬_定】按鈕。 步驟步驟1-1-從父表中選定字段從父表中選定字段步驟步驟2-2-從子表中選定字段從子表中選定字段 步驟步驟3-3-建立表之間的關(guān)系建立表之間的關(guān)系 該步驟用于建立父表與子表之間的關(guān)系,如圖該步驟用于建立
29、父表與子表之間的關(guān)系,如圖8.158.15所示。所示。 【步驟步驟4、5、6同單數(shù)據(jù)表的表單向?qū)?,建立的一同單?shù)據(jù)表的表單向?qū)В⒌囊粚Χ啾韱芜\行情況如圖對多表單運行情況如圖8.16所示。所示。 圖8.16 一對多表單運行效果圖 8.2.2 表單設(shè)計控件簡介 【表單控件】工具欄如圖【表單控件】工具欄如圖8.178.17所示。所示。NameName為對象的名稱為對象的名稱屬性,每個對象都有此屬性,下面對常用的一些控件進(jìn)行簡要屬性,每個對象都有此屬性,下面對常用的一些控件進(jìn)行簡要介紹介紹 。圖8.17 表單控件工具欄 n標(biāo)簽(Label)控件 標(biāo)簽主要用來顯示文字信息,常用于說明或提示,其文字信
30、息通過標(biāo)簽標(biāo)簽主要用來顯示文字信息,常用于說明或提示,其文字信息通過標(biāo)簽標(biāo)題標(biāo)題 (Caption) (Caption) 屬性進(jìn)行設(shè)置。表單運行時不能直接修改或輸入文字,如要屬性進(jìn)行設(shè)置。表單運行時不能直接修改或輸入文字,如要修改,可以通過程序代碼來實現(xiàn),如修改,可以通過程序代碼來實現(xiàn),如Thisform.Label1.Caption=”Thisform.Label1.Caption=”用戶名用戶名”。標(biāo)簽常用的屬性如表標(biāo)簽常用的屬性如表8.48.4所示。所示。 2. 2. 文本框(文本框(TextBoxTextBox)控件)控件 文本框控件常用于數(shù)據(jù)輸入,也可以用于顯示文字信息。用戶可以在其
31、文本框控件常用于數(shù)據(jù)輸入,也可以用于顯示文字信息。用戶可以在其中輸入、更改一個單行文本,并可將結(jié)果保存在指定的表字段或變量中。文本中輸入、更改一個單行文本,并可將結(jié)果保存在指定的表字段或變量中。文本框可以編輯如字符型、數(shù)值型、邏輯型、日期型或日期時間型等類型的數(shù)據(jù)??蚩梢跃庉嬋缱址?、數(shù)值型、邏輯型、日期型或日期時間型等類型的數(shù)據(jù)。如果編輯的是日期型或時間型數(shù)據(jù),那么在整個內(nèi)容被選定的情況下,接如果編輯的是日期型或時間型數(shù)據(jù),那么在整個內(nèi)容被選定的情況下,接“+”+”或或“一一”,可以使日期增加一天或減少一天。在文本框內(nèi),所有標(biāo)準(zhǔn)的,可以使日期增加一天或減少一天。在文本框內(nèi),所有標(biāo)準(zhǔn)的Visu
32、al Visual FoxProFoxPro編輯功能,如剪切、復(fù)制和粘貼都可使用。文本框的一些基本屬性可以編輯功能,如剪切、復(fù)制和粘貼都可使用。文本框的一些基本屬性可以在屬性窗口中設(shè)置,也可以通過文本框的【生成器】進(jìn)行設(shè)置。激活一個對象在屬性窗口中設(shè)置,也可以通過文本框的【生成器】進(jìn)行設(shè)置。激活一個對象的【生成器】對話框,可以通過在選定對象上單擊右鍵,之后在彈出的快捷菜的【生成器】對話框,可以通過在選定對象上單擊右鍵,之后在彈出的快捷菜單中選擇【生成器】命令來實現(xiàn)。文本框的【生成器】如圖單中選擇【生成器】命令來實現(xiàn)。文本框的【生成器】如圖8.188.18所示。文本框所示。文本框常用屬性見表常用
33、屬性見表8.58.5所示。所示。 圖8.18 文本框生成器 1 1)常用屬性)常用屬性 見表見表8.5 8.5 文本框常用屬性文本框常用屬性 、表、表8.6 InputMask8.6 InputMask模式符及其功能模式符及其功能 2 2)常用事件)常用事件文本框的常用事件如表文本框的常用事件如表8.78.7文本框常用事件所示文本框常用事件所示。 3 3)常用方法)常用方法 文本框的常用方法有:文本框的常用方法有: SetFocusSetFocus:使文本框得到焦點:使文本框得到焦點 2. 2. 編輯框編輯框(EditBox)(EditBox)控件控件 編輯框的用途和文本框相似,可用于顯示和輸
34、入文本內(nèi)容。與文本編輯框的用途和文本框相似,可用于顯示和輸入文本內(nèi)容。與文本框不同的是,編輯框擴(kuò)展了文本框的功能,允許顯示和輸入多行文本的框不同的是,編輯框擴(kuò)展了文本框的功能,允許顯示和輸入多行文本的內(nèi)容,所以在編輯框的右邊有一個垂直滾動條。編輯框常用于顯示和輸內(nèi)容,所以在編輯框的右邊有一個垂直滾動條。編輯框常用于顯示和輸入不確定長度的長文本,例如,可以把編輯框與數(shù)據(jù)庫表的備注字段綁入不確定長度的長文本,例如,可以把編輯框與數(shù)據(jù)庫表的備注字段綁定在一起,用于顯示和編輯備注字段的內(nèi)容。編輯框的一些基本屬性可定在一起,用于顯示和編輯備注字段的內(nèi)容。編輯框的一些基本屬性可以在屬性窗口中設(shè)置,也可以通
35、過編輯框的以在屬性窗口中設(shè)置,也可以通過編輯框的【生成器】【生成器】進(jìn)行設(shè)置。進(jìn)行設(shè)置。3. 3. 命令按鈕命令按鈕(CommandButton)(CommandButton)控件控件 命令按鈕是表單中最常用的控件之一??梢栽谄涿畎粹o是表單中最常用的控件之一??梢栽谄銫lickClick事件代碼中事件代碼中完成特定的操作。如打開文件、進(jìn)行成績計算等。命令按鈕在外形上有完成特定的操作。如打開文件、進(jìn)行成績計算等。命令按鈕在外形上有文本和圖形化的兩種形式,可以通過有關(guān)的屬性來設(shè)置。命令按鈕常用文本和圖形化的兩種形式,可以通過有關(guān)的屬性來設(shè)置。命令按鈕常用的事件是的事件是ClickClick事件,
36、常用的屬性見表事件,常用的屬性見表8.88.8所示。所示。 4. 4. 命令按鈕組命令按鈕組(CommandButtonGroup)(CommandButtonGroup)控件控件 命令按鈕組是把一些功能相關(guān)或相近的命令按鈕編成一組,命令按鈕組是把一些功能相關(guān)或相近的命令按鈕編成一組,進(jìn)行統(tǒng)一管理,如圖進(jìn)行統(tǒng)一管理,如圖8.198.19所示。在命令按鈕組中,每一個按鈕仍所示。在命令按鈕組中,每一個按鈕仍分別承擔(dān)不同的任務(wù),但它們的任務(wù)代碼可以放在同一個代碼程分別承擔(dān)不同的任務(wù),但它們的任務(wù)代碼可以放在同一個代碼程序中。使用命令按鈕組給按鈕的管理和編寫代碼帶來了很大的方序中。使用命令按鈕組給按鈕
37、的管理和編寫代碼帶來了很大的方便便。 命令按鈕組常用的屬性見表命令按鈕組常用的屬性見表8.98.9所示。命令按鈕生成器如圖所示。命令按鈕生成器如圖8.208.20所所示。示。 圖8.19 命令按鈕組 5. 5. 選項按鈕組選項按鈕組(OptionGroup)(OptionGroup)控件控件 選項按鈕組由若干選項按鈕組成,用于在多個選項中選擇其中選項按鈕組由若干選項按鈕組成,用于在多個選項中選擇其中一個選項的情況,如圖一個選項的情況,如圖8.218.21所示,被選中的選項用黑心圓點表示,所示,被選中的選項用黑心圓點表示,在選項按鈕組中有且只能有一個選項被選中。在選項按鈕組中有且只能有一個選項被
38、選中。圖8.21 選項按鈕組 選項按鈕組常用的屬性見表8.10所示,選項按鈕常用的屬性見表8.11所示。選項按鈕組生成器如圖8.22所示。 圖8.22 選項按鈕組生成器中的【布局】選項卡 6. 6. 復(fù)選框復(fù)選框(CheckBox)(CheckBox)控件控件 復(fù)選框常用于某種邏輯判斷或選擇,指明一復(fù)選框常用于某種邏輯判斷或選擇,指明一個事物是真還是假,或指明選擇或不選擇。如果個事物是真還是假,或指明選擇或不選擇。如果某一復(fù)選框被選中,則小框中有一個對勾某一復(fù)選框被選中,則小框中有一個對勾“”,否則沒有。如下圖是一組復(fù)選框的示例。否則沒有。如下圖是一組復(fù)選框的示例。 復(fù)選框常用的屬性見表8.1
39、2所示。 7. 組合框組合框(ComboBox)(ComboBox)控件控件 組合框是用于提供一組項目供用戶從中選擇的控件組合框是用于提供一組項目供用戶從中選擇的控件, ,也可也可以讓用戶輸入文字。應(yīng)用程序使用組合框可以方便用戶操作,以讓用戶輸入文字。應(yīng)用程序使用組合框可以方便用戶操作,加快操作速度,減少操作錯誤。組合框有兩種形式,一種是下加快操作速度,減少操作錯誤。組合框有兩種形式,一種是下拉組合框,另一種是下拉列表框。下拉組合框與下拉列表框的拉組合框,另一種是下拉列表框。下拉組合框與下拉列表框的主要區(qū)別是:下拉組合框既允許用戶從打開的下拉列表中選擇,主要區(qū)別是:下拉組合框既允許用戶從打開的
40、下拉列表中選擇,也允許用戶直接從鍵盤輸入;而下拉列表框只允許用戶從下拉也允許用戶直接從鍵盤輸入;而下拉列表框只允許用戶從下拉列表中選擇。兩種列表框都是用同樣的控件工具來生成,只是列表中選擇。兩種列表框都是用同樣的控件工具來生成,只是StyleStyle屬性設(shè)置不同,屬性值為屬性設(shè)置不同,屬性值為0 0時為下拉組合框,屬性值為時為下拉組合框,屬性值為1 1時為下拉列表框。圖時為下拉列表框。圖8.248.24是一個組合框的外形圖,表是一個組合框的外形圖,表8.138.13、8.148.14、8.158.15分別是組合框常用的屬性、事件和方法。分別是組合框常用的屬性、事件和方法。 下拉組合框也可以使
41、用生成器進(jìn)行有關(guān)屬性的下拉組合框也可以使用生成器進(jìn)行有關(guān)屬性的設(shè)置,生成器如圖設(shè)置,生成器如圖8.258.25所示。所示。圖8.25 組合框生成器 組合框生成器有組合框生成器有4 4個選項卡:個選項卡: 【列表項】【列表項】 在此選項卡中指定填充組合框中項目的數(shù)據(jù)源,包括在此選項卡中指定填充組合框中項目的數(shù)據(jù)源,包括“表表或視圖中的字段或視圖中的字段”、“手工輸入數(shù)據(jù)手工輸入數(shù)據(jù)”、“數(shù)組中的值數(shù)組中的值”?!緲邮健俊緲邮健?在此選項卡中指定樣式是三維還是平面、是下拉組合框還在此選項卡中指定樣式是三維還是平面、是下拉組合框還是下拉列表、啟用還是廢止遞增搜索。是下拉列表、啟用還是廢止遞增搜索?!?/p>
42、布局】【布局】 在此選項卡中指定列寬和顯示的方法。在此選項卡中指定列寬和顯示的方法。【值】【值】在此選項卡中指定數(shù)據(jù)從哪一列得到返回值以及將數(shù)據(jù)存在此選項卡中指定數(shù)據(jù)從哪一列得到返回值以及將數(shù)據(jù)存儲到哪個字段。儲到哪個字段。 8. 8. 列表框列表框(ListBox)(ListBox)控件控件 列表框也是表單設(shè)計時常用的一種控件,列表框和列表框也是表單設(shè)計時常用的一種控件,列表框和組合框有許多相似的地方,讀者可參照組合框進(jìn)行學(xué)習(xí),組合框有許多相似的地方,讀者可參照組合框進(jìn)行學(xué)習(xí),這里就不再贅述了。這里就不再贅述了。 9. 9. 表格表格(Grid)(Grid)控件控件 表格控件是表單設(shè)計時常用
43、的一種控件。在數(shù)據(jù)庫表格控件是表單設(shè)計時常用的一種控件。在數(shù)據(jù)庫系統(tǒng)中,表格控件常用于顯示和編輯數(shù)據(jù)庫表、視圖和系統(tǒng)中,表格控件常用于顯示和編輯數(shù)據(jù)庫表、視圖和查詢結(jié)果。表格控件常用的屬性、事件分別如表查詢結(jié)果。表格控件常用的屬性、事件分別如表8.168.16、8.178.17所示。所示。 表格是一個容器對象,包含了大量的子對象,有列頭、列正文等。有關(guān)表格的詳細(xì)知識可參考有關(guān)的幫助文檔。表格也可以使用生成器進(jìn)行有關(guān)屬性的設(shè)置,生成器如圖8.26所示。 圖8.26 表格生成器 表格生成器有4個選項卡:【表格項】 在此選項卡中可以選擇數(shù)據(jù)庫、數(shù)據(jù)庫表、視圖和字段,選擇出的字段將在表格控件的各列中顯
44、示。【樣式】 在此選項卡中指定表格外形的樣式是專業(yè)形、標(biāo)準(zhǔn)形、浮雕形還是帳務(wù)形。 【布局】 在此選項卡中指定列的標(biāo)題、寬度和控件類型。 【關(guān)系】 如果表格中的數(shù)據(jù)要從兩個表中取數(shù)據(jù),此選項卡用于定義兩個表的關(guān)聯(lián)表達(dá)式。 10. 10. 微調(diào)微調(diào)(Spinner)(Spinner)控件控件 微調(diào)控件主要用于接受給定范圍之內(nèi)的數(shù)值輸入微調(diào)控件主要用于接受給定范圍之內(nèi)的數(shù)值輸入, ,每按每按一次向上或向下的箭頭一次向上或向下的箭頭, ,就可以增加或減少微調(diào)值。微調(diào)控就可以增加或減少微調(diào)值。微調(diào)控件的常用屬性如表件的常用屬性如表8.188.18所示,常用事件如表所示,常用事件如表8.198.19所示。
45、所示。 11. 11. 圖像圖像(Image)(Image)控件控件 圖像控件用于在表單上顯示圖像。該控件允許在表單圖像控件用于在表單上顯示圖像。該控件允許在表單中添加圖片中添加圖片(.bmp(.bmp文件文件) ),和其他控件一樣,圖像控件具有整,和其他控件一樣,圖像控件具有整套的屬性、事件和方法程序。表套的屬性、事件和方法程序。表8.208.20是圖像控件的常用屬性。是圖像控件的常用屬性。 12. 12. 計時器計時器(Timer)(Timer)控件控件 計時器用于在程序運行中,指定在規(guī)定的時間或按照計時器用于在程序運行中,指定在規(guī)定的時間或按照確定的時間間隔讓系統(tǒng)產(chǎn)生一個計時器事件以運行
46、指定的程確定的時間間隔讓系統(tǒng)產(chǎn)生一個計時器事件以運行指定的程序。計時器在運行時不可見,它在后臺運行,定時地反復(fù)執(zhí)序。計時器在運行時不可見,它在后臺運行,定時地反復(fù)執(zhí)行同一事件代碼,不對用戶引發(fā)的事件做出反應(yīng),與用戶的行同一事件代碼,不對用戶引發(fā)的事件做出反應(yīng),與用戶的當(dāng)前操作相互獨立。用當(dāng)前操作相互獨立。用IntervalInterval屬性規(guī)定的時間間隔,單位屬性規(guī)定的時間間隔,單位是毫秒;是毫秒;EnableEnable屬性設(shè)為真屬性設(shè)為真(.T.)(.T.)時時, , 計時器開始工作計時器開始工作, ,為真為真(.F.), (.F.), 計時器停止工作;計時器停止工作;TimerTime
47、r事件是計時器最常用的事件,事件是計時器最常用的事件,經(jīng)過經(jīng)過IntervalInterval屬性設(shè)定的時間間隔后自動發(fā)生,屬性設(shè)定的時間間隔后自動發(fā)生,IntervalInterval屬屬性值越小,性值越小,TimerTimer事件越頻繁。事件越頻繁。 13. 13. 頁框頁框(PageFrame)(PageFrame)控件控件 頁框控件可以在表單上設(shè)置多個選項卡,每個選項卡對應(yīng)著一頁框控件可以在表單上設(shè)置多個選項卡,每個選項卡對應(yīng)著一個頁面,每個頁面本身就是一個對象,每個頁面中又可包含容器個頁面,每個頁面本身就是一個對象,每個頁面中又可包含容器控件或其他控件,因此頁框是包含頁面的容器,如圖
48、控件或其他控件,因此頁框是包含頁面的容器,如圖8.278.27所示。所示。表表8.218.21是頁框控件的常用屬性是頁框控件的常用屬性。 圖8.27 具有3個頁面的頁框控件 14. 線條(Line)和形狀(Shape)控件 線條(Line)控件可以在表單上繪制直線,可用BorderWidth屬性改變線的寬度,用BorderStyle屬性設(shè)置線條的形狀,用BorderColor屬性改變線條的顏色等。 形狀(Shape)控件可以在表單上畫矩形、正方形、橢圓、圓等圖形。圖形的類型由Curvature屬性確定,其值為099。當(dāng)Curvature為“0”時畫一個矩形或正方形,為“99”時畫一個橢圓形或圓
49、形,其他值將是矩形到圓形之間的過渡圖形。與線條一樣,可以設(shè)置圖形邊線的粗細(xì)、線型、顏色,此外還可以通過FillStyle屬性實現(xiàn)形狀內(nèi)部的填充。 8.2.3 8.2.3 設(shè)計自定義的表單設(shè)計自定義的表單 要設(shè)計自定義的表單,除了前述章節(jié)介紹的有關(guān)表單和控要設(shè)計自定義的表單,除了前述章節(jié)介紹的有關(guān)表單和控件的知識之外,還要學(xué)習(xí)表單本身的有關(guān)知識,這些知識包括件的知識之外,還要學(xué)習(xí)表單本身的有關(guān)知識,這些知識包括表單的常用屬性、事件和方法程序。表單的常用屬性、事件和方法程序。1 1)表單的常用屬性)表單的常用屬性 表單是一個特殊的容器對象,它有眾多的屬性,其常用屬表單是一個特殊的容器對象,它有眾多
50、的屬性,其常用屬性見表性見表8.228.22所示。所示。 2 2)表單的常用事件)表單的常用事件 表單和其他控件一樣,也有許多事件,表表單和其他控件一樣,也有許多事件,表8.238.23列出了表單列出了表單的常用事件。的常用事件。 3 3)表單的常用方法)表單的常用方法 方法是一些系統(tǒng)提供的特殊程序,表單有許多方法,表方法是一些系統(tǒng)提供的特殊程序,表單有許多方法,表8.248.24列出了表單的常用方法。列出了表單的常用方法。 2. 2. 自定義表單設(shè)計舉例自定義表單設(shè)計舉例 1 1)在表單上顯示一個移動的標(biāo)簽)在表單上顯示一個移動的標(biāo)簽 新建一個表單,在表單上放置一個新建一個表單,在表單上放置
51、一個標(biāo)簽標(biāo)簽(Label1(Label1) )和一和一個個計時器控件計時器控件(Timer1)(Timer1),按表,按表8.258.25對控件進(jìn)行屬性設(shè)置,對控件進(jìn)行屬性設(shè)置,設(shè)置后的表單如圖設(shè)置后的表單如圖8.288.28所示。所示。 圖8.28 移動標(biāo)簽例的設(shè)計界面 表單界面設(shè)計完成后,啟動代碼編寫窗口,在代碼編表單界面設(shè)計完成后,啟動代碼編寫窗口,在代碼編寫窗口寫入如下代碼:寫窗口寫入如下代碼: l表單表單(Form1)(Form1)的的InitInit事件事件代碼代碼 public aapublic aa aa=10 aa=10 l計時器計時器(Timer1)(Timer1)的的Ti
52、merTimer事件事件代碼代碼 o=thisformo=thisform if o.lblshow.left=0 if o.lblshow.left=o.width if o.lblshow.left+o.lblshow.width=o.width aa=-10 aa=-10 endif endif o.lblshow.left=o.lblshow.left+aa o.lblshow.left=o.lblshow.left+aareturn return 2 2)用微調(diào)控件微調(diào)日期)用微調(diào)控件微調(diào)日期新建一個表單,在表單上放置一個新建一個表單,在表單上放置一個文本框文本框(Text1)(Te
53、xt1)和和一個一個微調(diào)控件微調(diào)控件(Spinner1)(Spinner1),按表,按表8.268.26對控件進(jìn)行屬性設(shè)對控件進(jìn)行屬性設(shè)置,設(shè)置后的表單如圖置,設(shè)置后的表單如圖8.298.29所示。所示。 圖8.29 微調(diào)控件例的設(shè)計界面 表單界面設(shè)計完成后,啟動代碼編寫窗口,在代碼編寫表單界面設(shè)計完成后,啟動代碼編寫窗口,在代碼編寫窗口寫入如下代碼:窗口寫入如下代碼: l表單表單(Form1)(Form1)的的InitInit事件事件代碼代碼 Rq=date() Rq=date() l微調(diào)控件微調(diào)控件(Spinner1)(Spinner1)的的UpClickUpClick事件事件代碼代碼 t
54、hisform.text1.value=thisform.text1.value+1thisform.text1.value=thisform.text1.value+1returnendif returnendif l微調(diào)控件微調(diào)控件(Spinner1)(Spinner1)的的DownClickDownClick事件事件代碼代碼 thisform.text1.value=thisform.text1.value-1thisform.text1.value=thisform.text1.value-1returnendifreturnendif 3 3)設(shè)計一個查看數(shù)據(jù)的簡單表單)設(shè)計一個查看
55、數(shù)據(jù)的簡單表單 新建一個表單,在表單上放置一個命令按鈕組新建一個表單,在表單上放置一個命令按鈕組(CommandGroup1)(CommandGroup1),在,在表單的【數(shù)據(jù)環(huán)境】中加載表單的【數(shù)據(jù)環(huán)境】中加載“學(xué)生學(xué)生”數(shù)據(jù)表,將數(shù)據(jù)表,將“學(xué)生學(xué)生”數(shù)據(jù)表中的字段數(shù)據(jù)表中的字段“學(xué)號學(xué)號”、“姓名姓名”、“性別性別”、“出生日期出生日期”分別從【數(shù)據(jù)環(huán)境】中拖分別從【數(shù)據(jù)環(huán)境】中拖放到表單上,【數(shù)據(jù)環(huán)境】如圖放到表單上,【數(shù)據(jù)環(huán)境】如圖8.308.30所示。在【屬性窗口】對命令按鈕組所示。在【屬性窗口】對命令按鈕組的有關(guān)屬性進(jìn)行設(shè)置,或利用命令按鈕組生成器進(jìn)行設(shè)置。調(diào)整標(biāo)簽和文的有關(guān)屬性
56、進(jìn)行設(shè)置,或利用命令按鈕組生成器進(jìn)行設(shè)置。調(diào)整標(biāo)簽和文本框的大小和位置,并利用表單布局工具欄進(jìn)行對齊,最后形成如圖本框的大小和位置,并利用表單布局工具欄進(jìn)行對齊,最后形成如圖8.318.31所示的設(shè)計界面。所示的設(shè)計界面。 圖8.30 【數(shù)據(jù)環(huán)境】中加載的“學(xué)生” 圖8.31 簡單查詢記錄的設(shè)計界面 表單界面設(shè)計完成后,啟動代碼編寫窗口,在代碼編寫窗口寫入如表單界面設(shè)計完成后,啟動代碼編寫窗口,在代碼編寫窗口寫入如下代碼:下代碼: l命令按鈕組命令按鈕組(CommandGroup1)(CommandGroup1)的的ClickClick事件代碼事件代碼 . . do case go top m
57、and1.enabled=.f. mand2.enabled=.f. mand3.enabled=.t. mand4.enabled=.t. case this.value=2 skip -1 if bof() go top mand1.enabled=.f. mand2.enabled=.f. endif mand3.enabled=.t. mand4.enabled=.t. case this.value=3 skip if eof() go bottom mand3.enabled=.f. mand4.enabled=.f. endif mand1.enabled=.t. mand2.e
58、nabled=.t. case this.value=4 go bottom mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.f. mand4.enabled=.f. endcase thisform.refreshreturn 注意:供查詢的表必須要有記錄。 4 4)設(shè)計一個具有表格)設(shè)計一個具有表格(Grid)(Grid)的數(shù)據(jù)查詢表單的數(shù)據(jù)查詢表單 新建一個表單,在表單的【數(shù)據(jù)環(huán)境】中加載新建一個表單,在表單的【數(shù)據(jù)環(huán)境】中加載“學(xué)生學(xué)生”數(shù)據(jù)表,數(shù)據(jù)表,將將“學(xué)生學(xué)生”數(shù)據(jù)表從【數(shù)據(jù)環(huán)境】中拖放到表單上,形成一個數(shù)據(jù)表從【數(shù)據(jù)環(huán)境】
59、中拖放到表單上,形成一個表格表格(Grd(Grd學(xué)生學(xué)生) )控件控件,【數(shù)據(jù)環(huán)境】如圖,【數(shù)據(jù)環(huán)境】如圖8.308.30所示。在表單上放置一個所示。在表單上放置一個標(biāo)標(biāo)簽簽(Label1)(Label1),一個文本框一個文本框(Text1)(Text1),一個命令按鈕一個命令按鈕(Command1)(Command1)。在。在【屬性窗口】設(shè)置對象的有關(guān)屬性,屬性設(shè)置值見表【屬性窗口】設(shè)置對象的有關(guān)屬性,屬性設(shè)置值見表8.278.27所示。調(diào)所示。調(diào)整標(biāo)簽、文本框、命令按鈕和表格的大小和位置,并利用表單布局整標(biāo)簽、文本框、命令按鈕和表格的大小和位置,并利用表單布局工具欄進(jìn)行對齊,最后形成如圖工
60、具欄進(jìn)行對齊,最后形成如圖8.328.32所示的設(shè)計界面。所示的設(shè)計界面。 圖8.32 具有表格的數(shù)據(jù)查詢表單的設(shè)計界面 表單界面設(shè)計完成后,啟動代碼編寫窗口,在代碼編寫窗口寫入如下表單界面設(shè)計完成后,啟動代碼編寫窗口,在代碼編寫窗口寫入如下代碼:代碼: l表單表單(Form1)(Form1)的的InitInit事件代碼事件代碼 * * * *設(shè)置表格的所有列頭為居中對齊設(shè)置表格的所有列頭為居中對齊thisform.grdthisform.grd學(xué)生學(xué)生.setall(alignment,2,Header).setall(alignment,2,Header) l命令按鈕命令按鈕(Cmdcx)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息化項目可行性研究報告編制規(guī)范
- 2025年度保健食品個性化定制配送與市場推廣服務(wù)合同
- 低空經(jīng)濟(jì)未來產(chǎn)業(yè)
- 光伏發(fā)電項目 可行性研究報告
- 三農(nóng)產(chǎn)品綠色有機(jī)認(rèn)證認(rèn)證標(biāo)準(zhǔn)操作手冊
- 揚塵治理專項施工方案(完整)
- 基于zigbee的智能家居系統(tǒng)設(shè)計
- 數(shù)據(jù)分析統(tǒng)計學(xué)試題及答案
- 游戲音樂創(chuàng)作與編輯手冊
- 三農(nóng)扶貧政策執(zhí)行手冊
- 《大氣污染物控制工程》-揮發(fā)性有機(jī)物污染控制
- 國家職業(yè)技術(shù)技能標(biāo)準(zhǔn) 6-28-01-14 變配電運行值班員 人社廳發(fā)2019101號
- 2024-2030年冷凍面團(tuán)產(chǎn)品行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 【課件】人居與環(huán)境-詩意的棲居+課件高中美術(shù)人美版(2019)+必修+美術(shù)鑒賞
- LED基礎(chǔ)知識題庫100道及答案(完整版)
- 抖音本地生活商家直播培訓(xùn)
- 新版高中物理必做實驗?zāi)夸浖捌鞑?(電子版)
- 涉密項目保密工作方案
- 危險貨物道路運輸規(guī)則第7部分:運輸條件及作業(yè)要求(JTT617.7-2018)
- 思政課課題國內(nèi)外研究現(xiàn)狀
- 泌尿外科管道護(hù)理規(guī)范
評論
0/150
提交評論