版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第9章章 VFP常用控件及表單設(shè)計(jì)常用控件及表單設(shè)計(jì) 主要內(nèi)容主要內(nèi)容9.1 用表單向?qū)Ы⒈韱斡帽韱蜗驅(qū)Ы⒈韱?.2 用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單9.3 表單表單9.4 常用表單控件常用表單控件9.5 多表單操作多表單操作9.6 表單集表單集復(fù)習(xí)思考題復(fù)習(xí)思考題9.1用表單向?qū)Ы⒈韱斡帽韱蜗驅(qū)Ы⒈韱?例例9.1 使用表單向?qū)?chuàng)建一個維護(hù)使用表單向?qū)?chuàng)建一個維護(hù)“STUDENT”表的表單。表的表單。 例例9.2 使用一對多的表單向?qū)?,?chuàng)建一個使用一對多的表單向?qū)?,?chuàng)建一個維護(hù)學(xué)生表維護(hù)學(xué)生表“STUDENT”和學(xué)生上課情況表和學(xué)生上課情況表“STUDING”的表單。的表單。
2、 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 9.2.1 設(shè)計(jì)表單的基本步驟設(shè)計(jì)表單的基本步驟設(shè)計(jì)表單的基本步驟為:打開表單設(shè)計(jì)器;創(chuàng)建表單及設(shè)計(jì)表單的基本步驟為:打開表單設(shè)計(jì)器;創(chuàng)建表單及其它控件對象并編碼;保存表單;運(yùn)行表單。其它控件對象并編碼;保存表單;運(yùn)行表單。存盤方法可以選擇下列方法之一:選擇存盤方法可以選擇下列方法之一:選擇“文件文件”菜單中菜單中的的“保存保存”命令;選擇常用工具欄中的命令;選擇常用工具欄中的“保存保存”按鈕;按組按鈕;按組合鍵合鍵Ctrl+W;關(guān)閉表單設(shè)計(jì)器。;關(guān)閉表單設(shè)計(jì)器。 表單的運(yùn)行有以下幾種方法:在表單已打開的情況下,表單的運(yùn)行有以下幾種方法:在表單
3、已打開的情況下,單擊系統(tǒng)主菜單中的單擊系統(tǒng)主菜單中的“表單表單”菜單,選擇菜單,選擇“執(zhí)行表單執(zhí)行表單”菜單菜單項(xiàng);在表單已打開的情況下,單擊常用工具欄中的按鈕;項(xiàng);在表單已打開的情況下,單擊常用工具欄中的按鈕;)在在表單已打開的情況下,在表單的任何空白區(qū)域單擊鼠標(biāo)右鍵,表單已打開的情況下,在表單的任何空白區(qū)域單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇從彈出的快捷菜單中選擇“執(zhí)行表單執(zhí)行表單”命令;在命令窗口中命令;在命令窗口中輸入輸入DO FORM 加表單文件名命令。加表單文件名命令。 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 9.2.2 快速創(chuàng)建表單快速創(chuàng)建表單例例9.3 使用快速表單創(chuàng)建
4、一個學(xué)生信息查看和使用快速表單創(chuàng)建一個學(xué)生信息查看和編輯表單。編輯表單。 實(shí)現(xiàn)步驟為:實(shí)現(xiàn)步驟為:(1)打開表單設(shè)計(jì)器:在命令窗口中輸入打開表單設(shè)計(jì)器:在命令窗口中輸入CREATE FORM STU,系統(tǒng)將打開表單設(shè)計(jì)器且表,系統(tǒng)將打開表單設(shè)計(jì)器且表單設(shè)計(jì)器的標(biāo)題為單設(shè)計(jì)器的標(biāo)題為STU.SCX。 (2)生成快速表單:選擇生成快速表單:選擇“表單表單”菜單的菜單的“快速快速表單表單”命令命令(或右鍵單擊表單,從彈出的快捷菜單中或右鍵單擊表單,從彈出的快捷菜單中選擇選擇“生成器生成器”命令命令) 。(3)添加其它控件對象添加其它控件對象(如按鈕或按鈕組如按鈕或按鈕組) (4)執(zhí)行表單執(zhí)行表單 9
5、.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 9.2.3表單設(shè)計(jì)中常用的工具欄表單設(shè)計(jì)中常用的工具欄 1.表單控件工具欄表單控件工具欄 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 9.2.3表單設(shè)計(jì)中常用的工具欄表單設(shè)計(jì)中常用的工具欄 2.布局工具欄布局工具欄 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 9.2.3表單設(shè)計(jì)中常用的工具欄表單設(shè)計(jì)中常用的工具欄 3.調(diào)色板工具欄調(diào)色板工具欄 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 9.2.3表單設(shè)計(jì)中常用的工具欄表單設(shè)計(jì)中常用的工具欄 4.表單設(shè)計(jì)器工具欄表單設(shè)計(jì)器工具欄 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 9.2.4
6、數(shù)據(jù)環(huán)境設(shè)計(jì)器數(shù)據(jù)環(huán)境設(shè)計(jì)器 數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境(DataEnvironment)泛指設(shè)計(jì)表單或表單集時(shí)泛指設(shè)計(jì)表單或表單集時(shí)使用的數(shù)據(jù)源,包括表、視圖和關(guān)系。數(shù)據(jù)環(huán)境是一個容器使用的數(shù)據(jù)源,包括表、視圖和關(guān)系。數(shù)據(jù)環(huán)境是一個容器對象。對象。1.游標(biāo)游標(biāo)(Cursor)類對象類對象當(dāng)存儲在磁盤上的一個表文件被打開時(shí),系統(tǒng)會在內(nèi)存當(dāng)存儲在磁盤上的一個表文件被打開時(shí),系統(tǒng)會在內(nèi)存中建立一個該表的臨時(shí)文件,內(nèi)存中的臨時(shí)文件實(shí)際上是磁中建立一個該表的臨時(shí)文件,內(nèi)存中的臨時(shí)文件實(shí)際上是磁盤文件的一個映象,所有數(shù)據(jù)庫的操作修改命令都是針對這盤文件的一個映象,所有數(shù)據(jù)庫的操作修改命令都是針對這個映象進(jìn)行的,當(dāng)
7、發(fā)布數(shù)據(jù)更新個映象進(jìn)行的,當(dāng)發(fā)布數(shù)據(jù)更新TableUpdate()命令或關(guān)閉命令或關(guān)閉數(shù)據(jù)文件的命令后,系統(tǒng)再把這個映象文件存入磁盤,從而數(shù)據(jù)文件的命令后,系統(tǒng)再把這個映象文件存入磁盤,從而完成對磁盤文件的修改。完成對磁盤文件的修改。Cursor類對象也稱為游標(biāo)對象,它類對象也稱為游標(biāo)對象,它用來定義臨時(shí)表的相關(guān)信息。用來定義臨時(shí)表的相關(guān)信息。 Cursor類只支持類只支持Init、Destroy、Error事件。事件。 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 2.關(guān)系關(guān)系(Relation)類對象類對象如果表單的數(shù)據(jù)源有多個表且表間建立
8、了如果表單的數(shù)據(jù)源有多個表且表間建立了一定的關(guān)聯(lián),則數(shù)據(jù)環(huán)境下將自動產(chǎn)生一個一定的關(guān)聯(lián),則數(shù)據(jù)環(huán)境下將自動產(chǎn)生一個(或多個或多個)新的新的Relation類對象。類對象。 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 3.數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境(DataEnvironment)容器容器數(shù)據(jù)環(huán)境是包括數(shù)據(jù)環(huán)境是包括Cursor和和Relation兩類兩類對象的一個容器,該容器和其所含對象一起對象的一個容器,該容器和其所含對象一起定義了表單中的數(shù)據(jù)源。定義了表單中的數(shù)據(jù)源。 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 3.數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境(DataEnvironment)容器容器除支持除支持Ini
9、t、Destroy、Error事件外,事件外,DataEnvironment對象還支持兩個事件和兩個方法:對象還支持兩個事件和兩個方法:BeforeOpenTable()事件事件:打開表時(shí)發(fā)生,其:打開表時(shí)發(fā)生,其事件代碼在表打開之前執(zhí)行。事件代碼在表打開之前執(zhí)行。AfterCloseTable()事件事件:關(guān)閉表時(shí)發(fā)生,其事:關(guān)閉表時(shí)發(fā)生,其事件代碼在表關(guān)閉后執(zhí)行。件代碼在表關(guān)閉后執(zhí)行。CloseTable方法方法:用于關(guān)閉數(shù)據(jù)環(huán)境中所定義:用于關(guān)閉數(shù)據(jù)環(huán)境中所定義的所有數(shù)據(jù)源的所有數(shù)據(jù)源(表、視圖表、視圖)。OpenTable方法方法:用于打開數(shù)據(jù)環(huán)境中所定義:用于打開數(shù)據(jù)環(huán)境中所定義的所
10、有數(shù)據(jù)源的所有數(shù)據(jù)源(表、視圖表、視圖)。 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 4.數(shù)據(jù)環(huán)境設(shè)計(jì)器數(shù)據(jù)環(huán)境設(shè)計(jì)器數(shù)據(jù)環(huán)境設(shè)計(jì)器主要用以可視化地創(chuàng)建和修改數(shù)據(jù)環(huán)境設(shè)計(jì)器主要用以可視化地創(chuàng)建和修改數(shù)據(jù)環(huán)境。數(shù)據(jù)環(huán)境一旦建立,表單被打開或運(yùn)行數(shù)據(jù)環(huán)境。數(shù)據(jù)環(huán)境一旦建立,表單被打開或運(yùn)行時(shí),數(shù)據(jù)環(huán)境中的表或視圖便自動打開;表單被關(guān)時(shí),數(shù)據(jù)環(huán)境中的表或視圖便自動打開;表單被關(guān)閉或釋放時(shí),表或視圖也將隨之自動關(guān)閉。新建或閉或釋放時(shí),表或視圖也將隨之自動關(guān)閉。新建或打開表單后打開數(shù)據(jù)環(huán)境設(shè)計(jì)器的方法如下:打開表單后打開數(shù)據(jù)環(huán)境設(shè)計(jì)器的方法如下:(1)選擇選擇“顯示顯示”菜單中的菜單中的“數(shù)據(jù)環(huán)境
11、數(shù)據(jù)環(huán)境”;(2)鼠標(biāo)右鍵單擊表單窗口中的任意空白區(qū)域,鼠標(biāo)右鍵單擊表單窗口中的任意空白區(qū)域,從彈出的快捷菜單中選擇從彈出的快捷菜單中選擇“數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境”;(3)打開打開“表單設(shè)計(jì)器表單設(shè)計(jì)器”工具欄,選擇其中的工具欄,選擇其中的“數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境”工具按鈕。工具按鈕。 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 4.數(shù)據(jù)環(huán)境設(shè)計(jì)器數(shù)據(jù)環(huán)境設(shè)計(jì)器表添加后,如果有兩個或多個表,假如這表添加后,如果有兩個或多個表,假如這些表原來已存在永久關(guān)系,則在兩表之間會些表原來已存在永久關(guān)系,則在兩表之間會自動出現(xiàn)表示兩表關(guān)系的連線;如未建立永自動出現(xiàn)表示兩表關(guān)系的連線;如未建立永久關(guān)系,用戶也可以在
12、數(shù)據(jù)環(huán)境中臨時(shí)建立,久關(guān)系,用戶也可以在數(shù)據(jù)環(huán)境中臨時(shí)建立,建立方法是:選擇關(guān)聯(lián)字段,將其從父表中建立方法是:選擇關(guān)聯(lián)字段,將其從父表中拖到子表對應(yīng)字段上拖到子表對應(yīng)字段上(如果子表中對應(yīng)字段未如果子表中對應(yīng)字段未建索引,系統(tǒng)將自動建立以該字段為關(guān)鍵字建索引,系統(tǒng)將自動建立以該字段為關(guān)鍵字的索引的索引)。如果要解除關(guān)聯(lián),只需選中關(guān)聯(lián)線。如果要解除關(guān)聯(lián),只需選中關(guān)聯(lián)線條,按條,按Del鍵刪除即可。鍵刪除即可。 9.2用表單設(shè)計(jì)器建立表單用表單設(shè)計(jì)器建立表單 9.2.5 在表單上設(shè)置控件在表單上設(shè)置控件 1.創(chuàng)建控件創(chuàng)建控件 2.調(diào)整控件的位置調(diào)整控件的位置 3.調(diào)整控件的調(diào)整控件的Tab鍵按鍵順
13、序鍵按鍵順序 9.3 表單表單 9.3.1 表單的屬性表單的屬性 9.3 表單表單 9.3.1 表單的屬性(續(xù))表單的屬性(續(xù)) 9.3 表單表單 9.3.2 表單的事件和方法表單的事件和方法 9.4 常用表單控件常用表單控件 9.4.1 標(biāo)簽標(biāo)簽 9.4 常用表單控件常用表單控件 9.4.1 標(biāo)簽標(biāo)簽 (續(xù)續(xù))9.4 常用表單控件常用表單控件 例例9.3 設(shè)計(jì)一個學(xué)生學(xué)籍管理系統(tǒng)的歡迎設(shè)計(jì)一個學(xué)生學(xué)籍管理系統(tǒng)的歡迎界面。界面。 圖9.22標(biāo)簽應(yīng)用示例9.4 常用表單控件常用表單控件9.4.2 文本框文本框 9.4 常用表單控件常用表單控件9.4.2 文本框文本框1.value屬性屬性Valu
14、e屬性用于指定文本框的值,并在框中顯示屬性用于指定文本框的值,并在框中顯示出來。出來。Value屬性的值既可在屬性窗口中輸入或編輯;屬性的值既可在屬性窗口中輸入或編輯;也可以用命令來設(shè)置,例如:也可以用命令來設(shè)置,例如:THIS.VALUE=”表表單單”。Value值可以為數(shù)值型、字符型、日期型或邏輯值可以為數(shù)值型、字符型、日期型或邏輯型型4種類型之一,例如:種類型之一,例如:0,(無無),.F.。其中。其中(無無)表示字符型,且為默認(rèn)類型。屬性值設(shè)置后,若想表示字符型,且為默認(rèn)類型。屬性值設(shè)置后,若想恢復(fù)為默認(rèn)值只需右鍵單擊,從彈出的快捷菜單中恢復(fù)為默認(rèn)值只需右鍵單擊,從彈出的快捷菜單中選擇
15、選擇“重置為默認(rèn)值重置為默認(rèn)值”命令即可。命令即可。 9.4 常用表單控件常用表單控件2.控件與數(shù)據(jù)綁定控件與數(shù)據(jù)綁定文本框值除可通過直接輸入或設(shè)置文本框值除可通過直接輸入或設(shè)置Value屬性來得到外,屬性來得到外,還可以通過數(shù)據(jù)綁定來取得數(shù)據(jù)。還可以通過數(shù)據(jù)綁定來取得數(shù)據(jù)。(1)數(shù)據(jù)綁定的概念數(shù)據(jù)綁定的概念控件的數(shù)據(jù)綁定是指將控件與某個數(shù)據(jù)源聯(lián)系起來。實(shí)控件的數(shù)據(jù)綁定是指將控件與某個數(shù)據(jù)源聯(lián)系起來。實(shí)現(xiàn)數(shù)據(jù)綁定需為控件指定數(shù)據(jù)源,而數(shù)據(jù)源則由控件的現(xiàn)數(shù)據(jù)綁定需為控件指定數(shù)據(jù)源,而數(shù)據(jù)源則由控件的ControlSource屬性來指定。屬性來指定。數(shù)據(jù)源有字段和變量兩種,前者來自數(shù)據(jù)環(huán)境中的表,
16、數(shù)據(jù)源有字段和變量兩種,前者來自數(shù)據(jù)環(huán)境中的表,可以供用戶在可以供用戶在ControlSource屬性中選用。屬性中選用。(2)數(shù)據(jù)綁定的作用數(shù)據(jù)綁定的作用文本框與數(shù)據(jù)綁定后,控件值便與數(shù)據(jù)源的數(shù)據(jù)一致了。文本框與數(shù)據(jù)綁定后,控件值便與數(shù)據(jù)源的數(shù)據(jù)一致了。以字段數(shù)據(jù)為例,此時(shí)的控件值由字段的當(dāng)前值決定,而字以字段數(shù)據(jù)為例,此時(shí)的控件值由字段的當(dāng)前值決定,而字段值也將隨控件值的改變而改變,即值的傳遞是雙向的。段值也將隨控件值的改變而改變,即值的傳遞是雙向的。9.4 常用表單控件常用表單控件3.Format和和InputMask屬性屬性Format屬性用于指定某個控件的屬性用于指定某個控件的Val
17、ue屬屬性的輸入輸出格式,指定整個輸入?yún)^(qū)域的特性的輸入輸出格式,指定整個輸入?yún)^(qū)域的特性,可以組合使用多個格式代碼。性,可以組合使用多個格式代碼。InputMask屬性用于指定控件中的數(shù)據(jù)的輸屬性用于指定控件中的數(shù)據(jù)的輸入掩碼和顯示方式,掩碼格式用于更方便和入掩碼和顯示方式,掩碼格式用于更方便和更清楚地顯示字符型數(shù)據(jù)和數(shù)值型數(shù)據(jù)。更清楚地顯示字符型數(shù)據(jù)和數(shù)值型數(shù)據(jù)。Format和和InputMask屬性形成對照,前者對屬性形成對照,前者對輸入?yún)^(qū)域的所有輸入都有影響,后者中每種輸入?yún)^(qū)域的所有輸入都有影響,后者中每種輸入掩碼對應(yīng)輸入域中的一個輸入項(xiàng)。輸入掩碼對應(yīng)輸入域中的一個輸入項(xiàng)。9.4 常用表單
18、控件常用表單控件3.Format和和InputMask屬性屬性表表9.10 文本框的文本框的Format屬性設(shè)置及說明屬性設(shè)置及說明 9.4 常用表單控件常用表單控件3.Format和和InputMask屬性屬性9.4 常用表單控件常用表單控件文本框的常用事件主要有:文本框的常用事件主要有:Valid:當(dāng)文本框失去焦點(diǎn)前發(fā)生。所謂當(dāng)文本框失去焦點(diǎn)前發(fā)生。所謂焦點(diǎn),就是指文本框處于選中狀態(tài),失去焦焦點(diǎn),就是指文本框處于選中狀態(tài),失去焦點(diǎn),就是剛離開選中狀態(tài),獲得焦點(diǎn),就是點(diǎn),就是剛離開選中狀態(tài),獲得焦點(diǎn),就是剛進(jìn)入選中狀態(tài)。剛進(jìn)入選中狀態(tài)。InteractiveChange:當(dāng)文本框的值發(fā)生當(dāng)文
19、本框的值發(fā)生改變時(shí)發(fā)生。改變時(shí)發(fā)生。GotFocus:當(dāng)文本框得到焦點(diǎn)時(shí)發(fā)生。當(dāng)文本框得到焦點(diǎn)時(shí)發(fā)生。LostFocus:當(dāng)文本框失去焦點(diǎn)時(shí)發(fā)生。當(dāng)文本框失去焦點(diǎn)時(shí)發(fā)生。文本框的常用方法是文本框的常用方法是SetFocus,作用是,作用是使文本框獲得焦點(diǎn)。使文本框獲得焦點(diǎn)。 9.4 常用表單控件常用表單控件4.文本框生成器文本框生成器生成器是用戶設(shè)置屬性的控件屬性的向?qū)?,生成器是用戶設(shè)置屬性的控件屬性的向?qū)?,可以利用生成器快速地設(shè)置好控件對象的常可以利用生成器快速地設(shè)置好控件對象的常規(guī)屬性。多數(shù)控件具有生成器,但并非所有規(guī)屬性。多數(shù)控件具有生成器,但并非所有控件都有。文本框生成器的打開方法為:
20、控件都有。文本框生成器的打開方法為:首先利用首先利用“表單控件表單控件”工具欄創(chuàng)建好一個工具欄創(chuàng)建好一個文本框,然后通過鼠標(biāo)右鍵單擊文本框,從文本框,然后通過鼠標(biāo)右鍵單擊文本框,從彈出的快捷菜單中選擇彈出的快捷菜單中選擇“生成器生成器”,則將彈,則將彈出出“文本框生成器文本框生成器”對話框。對話框。 9.4 常用表單控件常用表單控件例例9.4 設(shè)計(jì)一個如圖設(shè)計(jì)一個如圖9.24所示的表單,功所示的表單,功能為:單擊表單計(jì)算三角形的面積,表單運(yùn)能為:單擊表單計(jì)算三角形的面積,表單運(yùn)行后自動居中。其中三角形三邊的值通過三行后自動居中。其中三角形三邊的值通過三個文本框輸入,計(jì)算出的面積顯示在一個標(biāo)個文
21、本框輸入,計(jì)算出的面積顯示在一個標(biāo)簽上。簽上。 圖9.24“計(jì)算三角形的面積”表單9.4 常用表單控件常用表單控件9.4.3 編輯框編輯框 編輯框也是用來輸入和顯示數(shù)據(jù)的。在編輯框編輯框也是用來輸入和顯示數(shù)據(jù)的。在編輯框中允許用戶編輯長字段或備注字段文本,允許自動中允許用戶編輯長字段或備注字段文本,允許自動換行并能用方向鍵、換行并能用方向鍵、PageUp和和PageDown鍵以及鍵以及滾動條來瀏覽文本。滾動條來瀏覽文本。編輯框和文本框的主要區(qū)別是編輯框只能用于編輯框和文本框的主要區(qū)別是編輯框只能用于輸入或編輯文本數(shù)據(jù),即字符型數(shù)據(jù);而文本框則輸入或編輯文本數(shù)據(jù),即字符型數(shù)據(jù);而文本框則適用于數(shù)
22、值、字符等四種類型的數(shù)據(jù)。文本框只能適用于數(shù)值、字符等四種類型的數(shù)據(jù)。文本框只能供用戶鍵入一段數(shù)據(jù);而編輯框則能輸入多段文本,供用戶鍵入一段數(shù)據(jù);而編輯框則能輸入多段文本,即回車符不能終止編輯框的輸入。即回車符不能終止編輯框的輸入。 9.4 常用表單控件常用表單控件9.4.3 編輯框編輯框 9.4 常用表單控件常用表單控件例例9.5 設(shè)計(jì)一個如圖設(shè)計(jì)一個如圖9.25所示的能顯示所示的能顯示STUDENT表中當(dāng)前記錄的學(xué)生學(xué)號、姓名表中當(dāng)前記錄的學(xué)生學(xué)號、姓名(學(xué)號、姓名不能修改學(xué)號、姓名不能修改),并能顯示和修改個人,并能顯示和修改個人簡歷信息的表單。簡歷信息的表單。 圖9.25學(xué)生簡歷的顯示
23、和修改9.4 常用表單控件常用表單控件9.4.4 命令按鈕命令按鈕 9.4 常用表單控件常用表單控件(1)對于文字命令按鈕,超寬的中文標(biāo)題若要折對于文字命令按鈕,超寬的中文標(biāo)題若要折行顯示,只需將行顯示,只需將WordWrap屬性設(shè)置為屬性設(shè)置為.T.,此時(shí)與,此時(shí)與AutoSize屬性無關(guān)。屬性無關(guān)。(2)在標(biāo)題中可以增加熱鍵,增加方法為:在在標(biāo)題中可以增加熱鍵,增加方法為:在Caption屬性值中某字符前插入符號屬性值中某字符前插入符號“”,該字符,該字符就成為熱鍵,例如就成為熱鍵,例如Caption屬性設(shè)置為屬性設(shè)置為“Cmd1”則表示則表示C為熱鍵。為熱鍵。(3)隱藏按鈕有兩種方法:一
24、是設(shè)置隱藏按鈕有兩種方法:一是設(shè)置Style屬性值屬性值為為1,二是設(shè)置,二是設(shè)置Visible屬性值為屬性值為.F.,但是,但是Visible屬屬性設(shè)置為性設(shè)置為.F.后,命令按鈕被隱藏且不能被操作;而后,命令按鈕被隱藏且不能被操作;而通過通過Style屬性設(shè)置命令按鈕不可見后,鼠標(biāo)移到命屬性設(shè)置命令按鈕不可見后,鼠標(biāo)移到命令按鈕的位置上仍能操作按鈕。令按鈕的位置上仍能操作按鈕。9.4 常用表單控件常用表單控件命令按鈕的常用事件如下:命令按鈕的常用事件如下:Click單擊鼠標(biāo)左鍵時(shí)發(fā)生,這是最單擊鼠標(biāo)左鍵時(shí)發(fā)生,這是最常用的一種事件,一般使用該事件編寫代碼常用的一種事件,一般使用該事件編寫代
25、碼來實(shí)現(xiàn)按鈕對應(yīng)的功能。來實(shí)現(xiàn)按鈕對應(yīng)的功能。DblClick雙擊鼠標(biāo)左鍵時(shí)發(fā)生。雙擊鼠標(biāo)左鍵時(shí)發(fā)生。RightClick單擊鼠標(biāo)右鍵時(shí)發(fā)生。單擊鼠標(biāo)右鍵時(shí)發(fā)生。Init建立命令按鈕對象時(shí)發(fā)生。建立命令按鈕對象時(shí)發(fā)生。Destroy從內(nèi)存中釋放命令按鈕時(shí)發(fā)從內(nèi)存中釋放命令按鈕時(shí)發(fā)生。生。 9.4 常用表單控件常用表單控件例例9.6 建立一個如圖建立一個如圖9.26所示的表單例所示的表單例9.6.SCX,該表單能實(shí)現(xiàn)對該表單能實(shí)現(xiàn)對TEACHER表中的記錄進(jìn)行修改。表中的記錄進(jìn)行修改。要求數(shù)據(jù)記錄瀏覽時(shí)不能進(jìn)行修改要求數(shù)據(jù)記錄瀏覽時(shí)不能進(jìn)行修改(表單的初始狀態(tài)表單的初始狀態(tài)為瀏覽狀態(tài)為瀏覽狀態(tài))
26、,只有點(diǎn)擊,只有點(diǎn)擊“修改修改”按鈕后才能進(jìn)行記按鈕后才能進(jìn)行記錄修改;當(dāng)記錄指針到文件尾時(shí),錄修改;當(dāng)記錄指針到文件尾時(shí),“下一條下一條”按鈕按鈕呈不可用狀態(tài);當(dāng)記錄指針到文件頭時(shí),呈不可用狀態(tài);當(dāng)記錄指針到文件頭時(shí),“上一條上一條”按鈕呈不可用狀態(tài)。按鈕呈不可用狀態(tài)。 9.4 常用表單控件常用表單控件9.4 常用表單控件常用表單控件例例9.7 設(shè)計(jì)一個如圖設(shè)計(jì)一個如圖9.27所示的驗(yàn)證帳號所示的驗(yàn)證帳號和密碼的表單。若帳號和密碼輸入錯,則用和密碼的表單。若帳號和密碼輸入錯,則用對話框提示。其中帳號輸入完畢,即文本框?qū)υ捒蛱崾尽F渲袔ぬ栞斎胪戤?,即文本框失去焦點(diǎn)時(shí)則判斷,若帳號錯應(yīng)使錄入帳號
27、失去焦點(diǎn)時(shí)則判斷,若帳號錯應(yīng)使錄入帳號的文本框清空,等待用戶重新輸入正常的帳的文本框清空,等待用戶重新輸入正常的帳號。對應(yīng)于密碼輸入的文本框初始為只讀,號。對應(yīng)于密碼輸入的文本框初始為只讀,只有當(dāng)帳號輸入正確時(shí),才能輸入密碼。密只有當(dāng)帳號輸入正確時(shí),才能輸入密碼。密碼共可輸入三次,單擊碼共可輸入三次,單擊“確定確定”按鈕時(shí)判斷,按鈕時(shí)判斷,三次輸錯則禁止進(jìn)入系統(tǒng)。圖三次輸錯則禁止進(jìn)入系統(tǒng)。圖9.27所示分別所示分別是表單界面和帳號錯提示信息框、成功登錄是表單界面和帳號錯提示信息框、成功登錄提示信息框、密碼錯提示信息框。提示信息框、密碼錯提示信息框。 9.4 常用表單控件常用表單控件圖圖9.27
28、帳號和密碼驗(yàn)證表單帳號和密碼驗(yàn)證表單 賬號錯賬號正確密碼錯密碼正確9.4 常用表單控件常用表單控件*TEXT1.LOSTFOCUS事件代碼事件代碼IF THIS.VALUE123456&”123456”為預(yù)設(shè)的密碼,也可以設(shè)為別的。為預(yù)設(shè)的密碼,也可以設(shè)為別的。MESSAGEBOX(帳號錯誤,請重輸!帳號錯誤,請重輸!,錯誤錯誤)THIS.VALUE=&為重新輸入清空文本框?yàn)橹匦螺斎肭蹇瘴谋究駿LSETHISFORM.TEXT2.READONLY=.F.&帳號輸入正確時(shí),即可輸入密碼帳號輸入正確時(shí),即可輸入密碼 THISFORM.TEXT2.SETFOCUS &
29、文本框文本框2獲得焦點(diǎn)獲得焦點(diǎn)ENDIF*COMMAND2.CLICK事件代碼事件代碼THISFORM.RELEASE&關(guān)閉表單關(guān)閉表單9.4 常用表單控件常用表單控件*COMMAND1.LICK事件代碼事件代碼N=N+1& 單擊一次表示輸入了一次密碼,次數(shù)增單擊一次表示輸入了一次密碼,次數(shù)增1IF THISFORM.TEXT2.VALUE=ABC& ”ABC”為預(yù)設(shè)密碼為預(yù)設(shè)密碼MESSAGEBOX(歡迎進(jìn)入本系統(tǒng)歡迎進(jìn)入本系統(tǒng),0+64,歡迎歡迎)THISFORM.RELEASEELSEIF N THISFORM.WIDTH THEN THISFORM.IMGMAI
30、N.LEFT = 0 THISFORM.IMGMAIN.TOP = THISFORM.HEIGHT / 2ENDIFTHISFORM.IMGMAIN.LEFT =THISFORM.IMGMAIN.LEFT +10THISFORM.IMGMAIN.TOP =THISFORM.IMGMAIN.TOP - 2IF FLAG THEN THISFORM.IMGMAIN.PICTURE = D:MYVFP蝴蝶蝴蝶閉閉.BMPELSE THISFORM.IMGMAIN.PICTURE = D:MYVFP蝴蝶蝴蝶開開.BMPENDIFFLAG = NOT FLAG9.4 常用表單控件常用表單控件9.4.12
31、 表格表格表格是一種將數(shù)據(jù)以表格形式表示出來的控件。表格提表格是一種將數(shù)據(jù)以表格形式表示出來的控件。表格提供了一個全屏幕輸入輸出數(shù)據(jù)表記錄的方式,表格中分為若供了一個全屏幕輸入輸出數(shù)據(jù)表記錄的方式,表格中分為若干行和列,每一個列也是一個對象,稱為列對象,因而表格干行和列,每一個列也是一個對象,稱為列對象,因而表格是一種以行列方式顯示數(shù)據(jù)的容器控件。表格中的每列又由是一種以行列方式顯示數(shù)據(jù)的容器控件。表格中的每列又由列標(biāo)題和列控件構(gòu)成。列標(biāo)題和列控件構(gòu)成。1.表格的組成表格的組成(1)表格表格(Grid):由一個或若干個列組成。由一個或若干個列組成。(2)列列(Column):一列可顯示表的一個
32、字段,列由列標(biāo)一列可顯示表的一個字段,列由列標(biāo)題和列控件組成。題和列控件組成。(3)列標(biāo)題列標(biāo)題(Header1):默認(rèn)顯示字段名,允許修改。默認(rèn)顯示字段名,允許修改。(4)列控件列控件(例如例如Text1):一列必須設(shè)置一個控件,該列一列必須設(shè)置一個控件,該列中的每個單元格都可用此控件來顯示字段值。列控件默認(rèn)為中的每個單元格都可用此控件來顯示字段值。列控件默認(rèn)為文本框,但允許修改為與本列字段數(shù)據(jù)的類型相容的控件。文本框,但允許修改為與本列字段數(shù)據(jù)的類型相容的控件。如字段是邏輯型的,則可以使用復(fù)選框控件。如字段是邏輯型的,則可以使用復(fù)選框控件。9.4 常用表單控件常用表單控件2.表格中主要控件
33、的常用屬性、事件和方法表格中主要控件的常用屬性、事件和方法表格、列、列標(biāo)題和列控件都有自己的屬性、表格、列、列標(biāo)題和列控件都有自己的屬性、事件和方法程序,其中表格和列都是容器。表格的事件和方法程序,其中表格和列都是容器。表格的常用屬性見表常用屬性見表9.32,列控件的常用屬性見表,列控件的常用屬性見表9.33。 9.4 常用表單控件常用表單控件表表9.32 表格的常用屬性表格的常用屬性 9.4 常用表單控件常用表單控件表表9.33 列控件的常用屬性列控件的常用屬性表格一般用以顯示數(shù)據(jù),故很少針對表格的事件單獨(dú)編寫表格一般用以顯示數(shù)據(jù),故很少針對表格的事件單獨(dú)編寫代碼。表格中最常用的方法是代碼。
34、表格中最常用的方法是Refresh,使用方法和其它,使用方法和其它控件類似??丶愃啤?.4 常用表單控件常用表單控件3.表格控件的創(chuàng)建表格控件的創(chuàng)建 (1)利用數(shù)據(jù)環(huán)境創(chuàng)建利用數(shù)據(jù)環(huán)境創(chuàng)建 (2)利用表格生成器創(chuàng)建利用表格生成器創(chuàng)建 4.表格的編輯表格的編輯將表格先選定,單擊鼠標(biāo)右鍵,從彈出的快捷將表格先選定,單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇菜單中選擇“編輯編輯”命令,則表格將出現(xiàn)有藍(lán)色虛命令,則表格將出現(xiàn)有藍(lán)色虛線邊框的編輯狀態(tài),在編輯狀態(tài)下可以用鼠標(biāo)直接線邊框的編輯狀態(tài),在編輯狀態(tài)下可以用鼠標(biāo)直接選擇列標(biāo)題或列控件對象,然后對其屬性進(jìn)行修改,選擇列標(biāo)題或列控件對象,然后對其屬性進(jìn)行修
35、改,也可以直接從也可以直接從“屬性屬性”窗口的對象列表框中選擇相窗口的對象列表框中選擇相應(yīng)的對象后直接對對象的屬性進(jìn)行設(shè)置。應(yīng)的對象后直接對對象的屬性進(jìn)行設(shè)置。9.4 常用表單控件常用表單控件(1)修改列標(biāo)題修改列標(biāo)題用代碼修改:在表格用代碼修改:在表格Init事件中編寫代碼事件中編寫代碼Thisform.Grid1.Column2.Header1. Caption=“教師姓教師姓名名”,可將上述表格中的第,可將上述表格中的第2列的列標(biāo)題改為列的列標(biāo)題改為“教師姓名教師姓名”。在屬性窗口中修改:在屬性窗口的對象列表中按照從在屬性窗口中修改:在屬性窗口的對象列表中按照從容器對象到控件對象的次序,
36、找到某列下的容器對象到控件對象的次序,找到某列下的Header1對象后對象后釋放鼠標(biāo),然后修改其釋放鼠標(biāo),然后修改其Caption屬性。屬性。(2)調(diào)整列高行寬調(diào)整列高行寬(3)列的增刪列的增刪列的增刪主要方法有如下幾種,一是修改表格的列的增刪主要方法有如下幾種,一是修改表格的ColumnCount屬性可以改變表格的列數(shù);二是打開表格生屬性可以改變表格的列數(shù);二是打開表格生成器,在表格項(xiàng)選項(xiàng)卡中多選或少選字段來改變列數(shù);三成器,在表格項(xiàng)選項(xiàng)卡中多選或少選字段來改變列數(shù);三是在表格的編輯狀態(tài)下,用鼠標(biāo)單擊某列是在表格的編輯狀態(tài)下,用鼠標(biāo)單擊某列(列標(biāo)題下面列標(biāo)題下面),然,然后按后按Del鍵可以
37、刪除該列。鍵可以刪除該列。 9.4 常用表單控件常用表單控件例例9.15 設(shè)計(jì)一個如圖設(shè)計(jì)一個如圖9.39所示的教師任課信息所示的教師任課信息查詢表單。查詢表單。 9.4 常用表單控件常用表單控件組合框組合框Combo1.IntereactiveChange事件過程事件過程代碼如下:代碼如下:SELECT TEACHINGTHISFORM.LABEL1.CAPTION=THIS.VALUEX=THIS.VALUESET FILTER TO 教師編號教師編號=ALLTRIM(X)THISFORM.REFRESH9.4 常用表單控件常用表單控件例例9.16 設(shè)計(jì)一個如圖設(shè)計(jì)一個如圖9.41所示的表
38、數(shù)據(jù)瀏覽表單。所示的表數(shù)據(jù)瀏覽表單。 圖9.41 表數(shù)據(jù)瀏覽表單9.4 常用表單控件常用表單控件主要事件過程代碼如下:主要事件過程代碼如下:*FORM1.INIT事件代碼事件代碼THISFORM.OPTIONGROUP1.VALUE=1THISFORM.GRDSTUDENT.VISIBLE=.T.THISFORM.GRDTEACHER.VISIBLE=.F.THISFORM.GRDSTUDING.VISIBLE=.F.THISFORM.GRDTEACHING.VISIBLE=.F.THISFORM.GRDCOURSE.VISIBLE=.F.THISFORM.REFRESH 9.4 常用表單控件
39、常用表單控件*OPTIONGROUP1.INTEREACTIVECHANGE事件代碼事件代碼X=THISFORM.OPTIONGROUP1.VALUEDO CASE CASE X=1 THISFORM.GRDSTUDENT.VISIBLE=.T.&使學(xué)生表對應(yīng)的表格控件可見使學(xué)生表對應(yīng)的表格控件可見 THISFORM.GRDTEACHER.VISIBLE=.F. THISFORM.GRDSTUDING.VISIBLE=.F. THISFORM.GRDTEACHING.VISIBLE=.F. THISFORM.GRDCOURSE.VISIBLE=.F. CASE X=2 THISFORM
40、.GRDSTUDENT.VISIBLE=.F. THISFORM.GRDTEACHER.VISIBLE=.T. THISFORM.GRDSTUDING.VISIBLE=.F. THISFORM.GRDTEACHING.VISIBLE=.F. THISFORM.GRDCOURSE.VISIBLE=.F.9.4 常用表單控件常用表單控件 CASE X=3 THISFORM.GRDSTUDENT.VISIBLE=.F. THISFORM.GRDTEACHER.VISIBLE=.F. THISFORM.GRDSTUDING.VISIBLE=.T. THISFORM.GRDTEACHING.VISIBL
41、E=.F. THISFORM.GRDCOURSE.VISIBLE=.F. CASE X=4 THISFORM.GRDSTUDENT.VISIBLE=.F. THISFORM.GRDTEACHER.VISIBLE=.F. THISFORM.GRDSTUDING.VISIBLE=.F. THISFORM.GRDTEACHING.VISIBLE=.T. THISFORM.GRDCOURSE.VISIBLE=.F.9.4 常用表單控件常用表單控件 CASE X=5 THISFORM.GRDSTUDENT.VISIBLE=.F. THISFORM.GRDTEACHER.VISIBLE=.F. THISF
42、ORM.GRDSTUDING.VISIBLE=.F. THISFORM.GRDTEACHING.VISIBLE=.F. THISFORM.GRDCOURSE.VISIBLE=.T.ENDCASETHISFORM.REFRESH9.4 常用表單控件常用表單控件 9.4.13 頁框頁框 頁框控件對應(yīng)的界面實(shí)際上就是我們經(jīng)常使用的選頁框控件對應(yīng)的界面實(shí)際上就是我們經(jīng)常使用的選項(xiàng)卡界面,一個頁框可以有兩個以上的頁面,所以頁框項(xiàng)卡界面,一個頁框可以有兩個以上的頁面,所以頁框是可以包含多個頁面的一種容器,而每個頁面本身也是是可以包含多個頁面的一種容器,而每個頁面本身也是一種容器,頁面上可以放置任何控件、容
43、器和自定義對一種容器,頁面上可以放置任何控件、容器和自定義對象。象。 9.4 常用表單控件常用表單控件例例9.17 設(shè)計(jì)一個如圖設(shè)計(jì)一個如圖9.42所示的數(shù)據(jù)瀏覽表單。所示的數(shù)據(jù)瀏覽表單。其中頁框有其中頁框有3個頁面,個頁面,“學(xué)學(xué)生表生表”頁面顯示頁面顯示STUDENT表中的所有數(shù)據(jù),表中的所有數(shù)據(jù),“課程表課程表”頁面顯示頁面顯示COURSE表中的所表中的所有數(shù)據(jù),而有數(shù)據(jù),而“學(xué)生課程成績學(xué)生課程成績”頁面中的數(shù)據(jù)來源于一個查頁面中的數(shù)據(jù)來源于一個查詢文件,該查詢文件中數(shù)據(jù)詢文件,該查詢文件中數(shù)據(jù)包括包括STUDENT表中的學(xué)號、表中的學(xué)號、姓名列,姓名列,COURSE表中的課表中的課程
44、編號和課程名列,以及程編號和課程名列,以及STUDING表中成績列。表中成績列。圖9.42 數(shù)據(jù)瀏覽表單9.4 常用表單控件常用表單控件圖圖9.43 學(xué)生課程成績查詢學(xué)生課程成績查詢 9.4 常用表單控件常用表單控件表表9.35 數(shù)據(jù)瀏覽表單的主要屬性設(shè)置情況數(shù)據(jù)瀏覽表單的主要屬性設(shè)置情況 9.4 常用表單控件常用表單控件9.4.14 ActiveX控件和控件和ActiveX綁定控件綁定控件 1.ActiveX控件控件ActiveX是是Microsoft對于一系列策略性面向?qū)τ谝幌盗胁呗孕悦嫦驅(qū)ο蟪绦蚣夹g(shù)和工具的稱呼,其中主要的技術(shù)是組件象程序技術(shù)和工具的稱呼,其中主要的技術(shù)是組件對象模型對
45、象模型(COM)。而。而ActiveX控件就是指符合控件就是指符合ActiveX標(biāo)準(zhǔn)的控件,其數(shù)量現(xiàn)已超過了標(biāo)準(zhǔn)的控件,其數(shù)量現(xiàn)已超過了1000種,種,Windows的的SYSTEM文件夾中含有的眾多的文件夾中含有的眾多的帶帶.OCX擴(kuò)展名的文件,都屬于擴(kuò)展名的文件,都屬于ActiveX控件。控件。 9.4 常用表單控件常用表單控件2.ActiveX綁定控件綁定控件在介紹表中字段的數(shù)據(jù)類型時(shí),曾介紹過一個重要的數(shù)在介紹表中字段的數(shù)據(jù)類型時(shí),曾介紹過一個重要的數(shù)據(jù)類型據(jù)類型通用數(shù)據(jù)類型,該類型字段變量可存放文本、聲通用數(shù)據(jù)類型,該類型字段變量可存放文本、聲音、圖片和視頻數(shù)據(jù)等。利用音、圖片和視頻
46、數(shù)據(jù)等。利用ActiveX綁定控件可以在表單上綁定控件可以在表單上顯示通用型字段數(shù)據(jù),如例顯示通用型字段數(shù)據(jù),如例9.1中照片數(shù)據(jù)的顯示。中照片數(shù)據(jù)的顯示。將表單控件工具欄中的將表單控件工具欄中的“ActiveX綁定控件綁定控件(OleBoundControl)”與表中的通用字段綁定,就能顯示通用與表中的通用字段綁定,就能顯示通用型字段中的型字段中的OLE對象,還可以調(diào)出創(chuàng)建這些數(shù)據(jù)的源應(yīng)用程對象,還可以調(diào)出創(chuàng)建這些數(shù)據(jù)的源應(yīng)用程序,從而以可視化方式查看或操作這些數(shù)據(jù)。序,從而以可視化方式查看或操作這些數(shù)據(jù)。利用控件工具欄創(chuàng)建利用控件工具欄創(chuàng)建“ActiveX綁定控件綁定控件”對象后,只對象后
47、,只需設(shè)置該對象的需設(shè)置該對象的ControlSource屬性為表中的通用型字段,屬性為表中的通用型字段,例如照片字段即可。例如照片字段即可。 9.5 多表單操作多表單操作 9.5.1單文檔和多文檔界面單文檔和多文檔界面應(yīng)用程序界面一般分為應(yīng)用程序窗口和文檔窗口兩種。應(yīng)用程序界面一般分為應(yīng)用程序窗口和文檔窗口兩種。其中,應(yīng)用程序窗口可包含標(biāo)題欄、工具欄等,而文檔窗口其中,應(yīng)用程序窗口可包含標(biāo)題欄、工具欄等,而文檔窗口出現(xiàn)在應(yīng)用程序窗口內(nèi),可以和應(yīng)用程序窗口共用標(biāo)題欄。出現(xiàn)在應(yīng)用程序窗口內(nèi),可以和應(yīng)用程序窗口共用標(biāo)題欄。例如執(zhí)行例如執(zhí)行MicroSoft Word,就會出現(xiàn)一個,就會出現(xiàn)一個Wo
48、rd應(yīng)用程序窗應(yīng)用程序窗口,如果在口,如果在Word中新建一個中新建一個Word文檔或打開一個文檔或打開一個Word文文檔,則還會出現(xiàn)一個文檔窗口,文檔窗口在應(yīng)用程序窗口內(nèi)檔,則還會出現(xiàn)一個文檔窗口,文檔窗口在應(yīng)用程序窗口內(nèi)部。部。使用使用VFP6創(chuàng)建的應(yīng)用程序界面一般分為多文檔界面創(chuàng)建的應(yīng)用程序界面一般分為多文檔界面(Multiple-Document Interface,簡稱,簡稱MDI)和單文檔界面和單文檔界面(Single-Document Interface,簡稱,簡稱SDI)兩類。其中,兩類。其中,MDI指應(yīng)用程序窗口中可以包含多個文檔窗口,例如指應(yīng)用程序窗口中可以包含多個文檔窗口
49、,例如MicroSoft Word、MicroSoft Visual FoxPro6等;而等;而SDI則指應(yīng)用程序則指應(yīng)用程序窗口中只能顯示一個文檔窗口,例如窗口中只能顯示一個文檔窗口,例如Windows的的“記事本記事本”應(yīng)用程序。應(yīng)用程序。 9.5 多表單操作多表單操作 9.5.2單文檔和多文檔界面的實(shí)現(xiàn)單文檔和多文檔界面的實(shí)現(xiàn)對應(yīng)于應(yīng)用程序的兩類窗口,對應(yīng)于應(yīng)用程序的兩類窗口,VFP6中有創(chuàng)建頂層表單中有創(chuàng)建頂層表單和子表單之分。每種表單都單獨(dú)存成一個和子表單之分。每種表單都單獨(dú)存成一個.SCX文件。文件。1.頂層表單頂層表單頂層表單用于創(chuàng)建一個頂層表單用于創(chuàng)建一個SDI應(yīng)用程序界面,或
50、者用于創(chuàng)應(yīng)用程序界面,或者用于創(chuàng)建一個可以作為建一個可以作為MDI應(yīng)用程序中的父表單的窗口界面。頂層應(yīng)用程序中的父表單的窗口界面。頂層表單類似于別的應(yīng)用程序主界面,可以直接顯示在表單類似于別的應(yīng)用程序主界面,可以直接顯示在Windows屏幕上,也可以最小化后顯示在屏幕上,也可以最小化后顯示在Windows任務(wù)欄中。任務(wù)欄中。2.子表單子表單子表單對應(yīng)于應(yīng)用程序中的文檔窗口。在子表單對應(yīng)于應(yīng)用程序中的文檔窗口。在VFP6中,子中,子表單用于創(chuàng)建表單用于創(chuàng)建MDI應(yīng)用程序的文檔窗口,子表單又分為非浮應(yīng)用程序的文檔窗口,子表單又分為非浮動表單和浮動表單兩種。非浮動表單是不可移至父表單邊界動表單和浮動
51、表單兩種。非浮動表單是不可移至父表單邊界外的表單,最小化時(shí)置于父表單窗口的底部;浮動表單則可外的表單,最小化時(shí)置于父表單窗口的底部;浮動表單則可移至桌面的任何位置,最小化時(shí)將顯示在桌面底部。但它們移至桌面的任何位置,最小化時(shí)將顯示在桌面底部。但它們都屬于父表單中的文檔窗口,因而父表單最小化,它們也最都屬于父表單中的文檔窗口,因而父表單最小化,它們也最小化,且子表單不能作為單獨(dú)的應(yīng)用程序使用,也不能置于小化,且子表單不能作為單獨(dú)的應(yīng)用程序使用,也不能置于父表單之后。父表單之后。 9.5 多表單操作多表單操作 3.頂層表單和子表單的確定頂層表單和子表單的確定頂層表單和子表單的確定是通過設(shè)置表單的頂
52、層表單和子表單的確定是通過設(shè)置表單的ShowWindow屬性完屬性完成的。成的。ShowWindow屬性值及含義如下:屬性值及含義如下:0表示將當(dāng)前表單作為表示將當(dāng)前表單作為VFP6主主窗口的子表單;窗口的子表單;1表示將當(dāng)前表單作為頂層表單的子表單;表示將當(dāng)前表單作為頂層表單的子表單;2表示將當(dāng)前表示將當(dāng)前表單作為頂層表單表單作為頂層表單4.確定子表單為浮動或非浮動表單確定子表單為浮動或非浮動表單確定子表單為浮動或非浮動表單是通過設(shè)置表單屬性確定子表單為浮動或非浮動表單是通過設(shè)置表單屬性Desktop完完成的。成的。Desktop屬性值及含義如下:屬性值及含義如下:.T.表示子表單表示子表單
53、(當(dāng)前表單當(dāng)前表單)能浮動,能浮動,.F.表示子表單表示子表單(當(dāng)前表單當(dāng)前表單)不能浮動。不能浮動。5.子表單的調(diào)用子表單的調(diào)用在頂層表單的某個事件在頂層表單的某個事件(非非Load和和Iinit)代碼按下列格式調(diào)用子表單代碼按下列格式調(diào)用子表單即可:即可:DO FORM 6.MDI應(yīng)用程序的運(yùn)行應(yīng)用程序的運(yùn)行MDI應(yīng)用程序應(yīng)從執(zhí)行父表單開始。應(yīng)用程序應(yīng)從執(zhí)行父表單開始。7.表單執(zhí)行中的異常表單執(zhí)行中的異常表單執(zhí)行時(shí),若出現(xiàn)異常導(dǎo)致表單無法關(guān)閉,可在命令窗口中鍵表單執(zhí)行時(shí),若出現(xiàn)異常導(dǎo)致表單無法關(guān)閉,可在命令窗口中鍵入:入:Clear All命令。命令。 9.5 多表單操作多表單操作 例例9
54、.18 編寫如圖編寫如圖9.50所示的教師數(shù)據(jù)查看表單。要求所示的教師數(shù)據(jù)查看表單。要求單擊單擊“查看指定記錄查看指定記錄”命令按鈕時(shí),能打開一個供用戶輸入命令按鈕時(shí),能打開一個供用戶輸入記錄號的窗口。當(dāng)輸入記錄號并單擊確定按鈕后,新打開的記錄號的窗口。當(dāng)輸入記錄號并單擊確定按鈕后,新打開的窗口隨即關(guān)閉,原表單也立即更新記錄顯示,若原表單記錄窗口隨即關(guān)閉,原表單也立即更新記錄顯示,若原表單記錄未更新,可單擊未更新,可單擊“刷新刷新”按鈕讓其更新。按鈕讓其更新。 9.5 多表單操作多表單操作主要操作步驟如下:主要操作步驟如下:(1)新建子表單新建子表單“inputRec9-18.SCX” ,在該
55、表,在該表單中添加一個標(biāo)簽,標(biāo)簽標(biāo)題為單中添加一個標(biāo)簽,標(biāo)簽標(biāo)題為“請輸入記錄請輸入記錄號:號:”,添加一個文本框,添加一個文本框Text1和一個命令按鈕和一個命令按鈕Command1。(2)編寫該表單中命令按鈕編寫該表單中命令按鈕Command1的的Click事件代碼如下:事件代碼如下:JLH=THISFORM.TEXT1.VALUE&將文本框中輸將文本框中輸入的記錄號賦給變量入的記錄號賦給變量JLHGO JLH &記錄指針記錄指針指向在文本框中指定的記錄指向在文本框中指定的記錄THISFORM.RELEASE&釋放當(dāng)前表單釋放當(dāng)前表單9.5 多表單操作多表單操作(3
56、)新建表單新建表單“例例9-18.SCX”,利用快速表,利用快速表單方式產(chǎn)生用于顯示單方式產(chǎn)生用于顯示STUDENT表中各字段的表中各字段的提示及數(shù)據(jù)的標(biāo)簽、文本框等控件。提示及數(shù)據(jù)的標(biāo)簽、文本框等控件。(4)添加一個命令按鈕組添加一個命令按鈕組(名字為:名字為:CommandGroup1),其中包括標(biāo)題為,其中包括標(biāo)題為“下一下一條條”(名字為:名字為:Command1)、“上一條上一條”(名名字為:字為:Command2)、“查看指定記錄查看指定記錄”(名名字為:字為:Command3)、“退出退出”(名字為:名字為:Command4)四個按鈕。四個按鈕。(5)添加一個標(biāo)題為添加一個標(biāo)題為
57、“刷新刷新”的按鈕。的按鈕。(6)兩個表單中主要屬性如表兩個表單中主要屬性如表9.36所示。所示。 9.5 多表單操作多表單操作表表9.36學(xué)生數(shù)據(jù)查看頂層和子表單的主要屬性設(shè)置情況學(xué)生數(shù)據(jù)查看頂層和子表單的主要屬性設(shè)置情況 9.5 多表單操作多表單操作(7)編寫各事件過程中相應(yīng)的代碼。編寫各事件過程中相應(yīng)的代碼。在例在例9-18.SCX 中,表單中,表單Form1的的Init事件過程代碼如下:事件過程代碼如下:PUBLIC JLH&定義一個公共變量定義一個公共變量JLH,用來存儲用戶輸入的記錄號,用來存儲用戶輸入的記錄號JLH=1&設(shè)設(shè)JLH變量的初值為變量的初值為1在在FO
58、RM1的的UNLOAD事件過程中編寫如下代碼:事件過程中編寫如下代碼:RELEASE JLH&清除公共變量清除公共變量JLH,因?yàn)槌绦蜻\(yùn)行結(jié)束時(shí)公共變量不會自動清除,因?yàn)槌绦蜻\(yùn)行結(jié)束時(shí)公共變量不會自動清除在命令按鈕組在命令按鈕組COMMANDGROUP1的的CLICK事件過程中編寫如下事件過程中編寫如下代碼:代碼:X=THIS.VALUE&用變量用變量X存儲用戶選擇命令按鈕組中某個按鈕的值信息存儲用戶選擇命令按鈕組中某個按鈕的值信息DO CASE CASE X=1 &如果用戶選擇了第一個按鈕如果用戶選擇了第一個按鈕SKIPIF EOF()THIS.COMMAND1.ENABLED=.F.ENDIFTHIS.COMMAND2.ENABLED=.T.9.5 多表單操作多表單操作CASE X=2&如果用戶選擇了第二個按鈕如果用戶選擇了第二個按鈕SKIP -1IF BOF()THIS.COMMAND2.ENABLED=.F.ENDIFTHIS.COMMAND1.ENABLED=.T.CASE X=3&如果用戶選擇了第三個按鈕如
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職第一學(xué)年(護(hù)理)中醫(yī)護(hù)理實(shí)操試題及答案
- 2025年中職(建筑裝飾)室內(nèi)軟裝搭配階段測試題及解析
- 2025年高職英語教育(英語教學(xué)技能)試題及答案
- 2025年高職新能源汽車(充電樁實(shí)操)試題及答案
- 2025年高職運(yùn)動與休閑(運(yùn)動生理學(xué))試題及答案
- 2025年高職酒店管理(餐飲服務(wù))試題及答案
- 2025年大學(xué)大三(應(yīng)用化學(xué))分析化學(xué)試題及答案
- 2026年旅游管理(旅游市場營銷)考題及答案
- 2025年大學(xué)大一(生命科學(xué)基礎(chǔ))微生物學(xué)基礎(chǔ)試題及解析
- 2025年大學(xué)行政管理(行政管理)試題及答案
- 2025上海復(fù)旦大學(xué)人事處招聘辦公室行政管理助理崗位1名考試參考試題及答案解析
- 油氣井帶壓作業(yè)安全操作流程手冊
- 認(rèn)知障礙老人的護(hù)理課件
- 麻醉科業(yè)務(wù)學(xué)習(xí)課件
- 綠色低碳微晶材料制造暨煤矸石工業(yè)固廢循環(huán)利用示范產(chǎn)業(yè)園環(huán)境影響報(bào)告表
- 業(yè)主裝修物業(yè)免責(zé)協(xié)議書
- 2025-2030年中國海底節(jié)點(diǎn)(OBN)地震勘探市場深度分析及發(fā)展前景研究預(yù)測報(bào)告
- 《數(shù)據(jù)標(biāo)注實(shí)訓(xùn)(中級)》中職全套教學(xué)課件
- 2025至2030中國生長因子(血液和組織)行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報(bào)告
- 2025中國甲狀腺相關(guān)眼病診斷和治療指南
- 測繪測量設(shè)備保密制度范文
評論
0/150
提交評論