[工學]VFP 第七章ppt課件_第1頁
[工學]VFP 第七章ppt課件_第2頁
[工學]VFP 第七章ppt課件_第3頁
[工學]VFP 第七章ppt課件_第4頁
[工學]VFP 第七章ppt課件_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一個程序的好與壞,給用戶的第一個印象不是他的一個程序的好與壞,給用戶的第一個印象不是他的程序代碼的執(zhí)行效率有多高,程序的性能能否足夠強大,程序代碼的執(zhí)行效率有多高,程序的性能能否足夠強大,數(shù)據(jù)操作能否可靠等,而是程序的界面能否友好。所以數(shù)據(jù)操作能否可靠等,而是程序的界面能否友好。所以程序設(shè)計者在界面的設(shè)計上都破費不少的精神。表單程序設(shè)計者在界面的設(shè)計上都破費不少的精神。表單(Form)(Form),從字面上講,是一種數(shù)據(jù)表的輸入輸出界面。,從字面上講,是一種數(shù)據(jù)表的輸入輸出界面。在在VFPVFP的運用程序中,它也被大量地用作人機交互界面的運用程序中,它也被大量地用作人機交互界面的設(shè)計當中。運用

2、的設(shè)計當中。運用VFPVFP的表單設(shè)計功能,可以設(shè)計出具的表單設(shè)計功能,可以設(shè)計出具有有WindowsWindows風格的各種程序界面。風格的各種程序界面。VFP VFP 的表單,外觀一的表單,外觀一致、界面友好、操作簡單,在表單的制造上可以隨心所致、界面友好、操作簡單,在表單的制造上可以隨心所欲地縱情發(fā)揚本人的奇思妙想。欲地縱情發(fā)揚本人的奇思妙想。 7.1 創(chuàng)建表單創(chuàng)建表單7.2 表單對象的層次援用表單對象的層次援用7.3 表單常用屬性、事件和方法表單常用屬性、事件和方法7.4 表單集表單集7.1.1 表單設(shè)計的根本步驟表單設(shè)計的根本步驟7.1.2 表單的構(gòu)造表單的構(gòu)造7.1.3 利用表單導

3、游創(chuàng)建表單利用表單導游創(chuàng)建表單7.1.4 利用表單設(shè)計器創(chuàng)建表單利用表單設(shè)計器創(chuàng)建表單7.1.5 表單界面設(shè)計原那么表單界面設(shè)計原那么1、翻開表單設(shè)計器、翻開表單設(shè)計器2、對象的操作與編碼、對象的操作與編碼3、保管表單、保管表單4、運轉(zhuǎn)表單、運轉(zhuǎn)表單7.1.1 表單設(shè)計的根本步驟表單設(shè)計的根本步驟在在VFP中,一個表單是一種容器類對象。中,一個表單是一種容器類對象。除具有對象的特征外,還允許含有其他類型除具有對象的特征外,還允許含有其他類型容器類或控件類的對象。表單中除含有規(guī)容器類或控件類的對象。表單中除含有規(guī)范的范的Windows窗口所具有的控件如標題欄、窗口所具有的控件如標題欄、控制圖標、

4、控制按鈕等外,還含有用戶添加控制圖標、控制按鈕等外,還含有用戶添加的對象如圖片、按鈕等控件。的對象如圖片、按鈕等控件。圖圖7-1就是一個表單的實例:就是一個表單的實例:7.1.2 表單的構(gòu)造表單的構(gòu)造圖圖7-1 7-1 表單的組成構(gòu)造表單的組成構(gòu)造 頁 框 ( 容 器 類 ) 表 單 ( 容 器 類 ) 按 鈕 ( 控 件 類 ) 標 簽 ( 控 件 類 ) 圖 片 ( 控 件 類 ) 形 狀 ( 控 件 類 ) 頁 ( 容 器 類 ) 文 本 ( 控 件 類 ) O LE 控 件 ( 控 件 類 ) 利用表單導游,可以創(chuàng)建基于一個表或視圖的表利用表單導游,可以創(chuàng)建基于一個表或視圖的表單,也可

5、以創(chuàng)建具有關(guān)聯(lián)關(guān)系的兩個表的一對多表單,單,也可以創(chuàng)建具有關(guān)聯(lián)關(guān)系的兩個表的一對多表單,這種方法只需按系統(tǒng)提供的操作步驟和屏幕提示一步這種方法只需按系統(tǒng)提供的操作步驟和屏幕提示一步一步地進展就能完成。該方法比較簡單,適宜于初學一步地進展就能完成。該方法比較簡單,適宜于初學者及表單的初步創(chuàng)建。者及表單的初步創(chuàng)建?!纠纠?-17-1】運用表單導游創(chuàng)建一個能維護】運用表單導游創(chuàng)建一個能維護Rsda.dbfRsda.dbf數(shù)據(jù)表的表單。數(shù)據(jù)表的表單。7.1.3 利用表單導游創(chuàng)建表單利用表單導游創(chuàng)建表單表單設(shè)計器是表單設(shè)計器是VFPVFP提供的一個功能非常強大的表單設(shè)計提供的一個功能非常強大的表單設(shè)計

6、工具,利用它可以創(chuàng)建表單,修正表單,包括用表單導游創(chuàng)工具,利用它可以創(chuàng)建表單,修正表單,包括用表單導游創(chuàng)建的表單。建的表單。1 1、表單設(shè)計器環(huán)境引見、表單設(shè)計器環(huán)境引見 表單窗口表單窗口 表單設(shè)計工具欄表單設(shè)計工具欄翻開表單設(shè)計器的同時會自動翻開表單設(shè)計工具欄,經(jīng)翻開表單設(shè)計器的同時會自動翻開表單設(shè)計工具欄,經(jīng)過該工具欄,可以很容易地啟動幾個表單設(shè)計中常用的工具過該工具欄,可以很容易地啟動幾個表單設(shè)計中常用的工具欄和對話框窗口。欄和對話框窗口。7.1.4 利用表單設(shè)計器創(chuàng)建和修正表單利用表單設(shè)計器創(chuàng)建和修正表單圖圖 7-14 “表單設(shè)計器工具欄表單設(shè)計器工具欄 Tab 鍵鍵次次序序 數(shù)數(shù)據(jù)據(jù)

7、環(huán)環(huán)境境 屬屬性性窗窗口口 代代碼碼窗窗口口 控控件件工工具具欄欄 調(diào)調(diào)色色板板工工具具欄欄 表表單單生生成成器器 自自動動格格式式 布布局局工工具具欄欄 2、設(shè)置、設(shè)置Tab鍵次序鍵次序在一個表單上或一個表單頁上有多個控件對象,在一個表單上或一個表單頁上有多個控件對象,在表單運轉(zhuǎn)時,對于可操作的控件,我們經(jīng)常按在表單運轉(zhuǎn)時,對于可操作的控件,我們經(jīng)常按Tab鍵從上一個控件轉(zhuǎn)到下一個控件,按鍵從上一個控件轉(zhuǎn)到下一個控件,按Shift+Tab向反方向挪動。向反方向挪動。Tab鍵次序就是在當前容器表單鍵次序就是在當前容器表單也是容器中,延續(xù)按也是容器中,延續(xù)按Tab鍵時所經(jīng)過的控件的順鍵時所經(jīng)過的

8、控件的順序。序。 Tab鍵次序假設(shè)不進展設(shè)置,將會自動按控件鍵次序假設(shè)不進展設(shè)置,將會自動按控件添加時的順序設(shè)置。例:人事檔案表單添加時的順序設(shè)置。例:人事檔案表單.scx3、表單的數(shù)據(jù)環(huán)境、表單的數(shù)據(jù)環(huán)境表單中的對象大多可以與字段進展綁定,以便對表單中的對象大多可以與字段進展綁定,以便對數(shù)據(jù)表中的數(shù)據(jù)進展顯示或編輯。假設(shè)表單需求處置數(shù)據(jù)表中的數(shù)據(jù)進展顯示或編輯。假設(shè)表單需求處置數(shù)據(jù)表或視圖中的設(shè)計,必需為表單建立數(shù)據(jù)環(huán)境。數(shù)據(jù)表或視圖中的設(shè)計,必需為表單建立數(shù)據(jù)環(huán)境。所謂所謂“數(shù)據(jù)環(huán)境,就是創(chuàng)建表單時運用的數(shù)據(jù)數(shù)據(jù)環(huán)境,就是創(chuàng)建表單時運用的數(shù)據(jù)源,包括表、視圖以及表之間的關(guān)系。數(shù)據(jù)環(huán)境一旦源

9、,包括表、視圖以及表之間的關(guān)系。數(shù)據(jù)環(huán)境一旦建立,當翻開或運轉(zhuǎn)表單時,其中的表或視圖將自動建立,當翻開或運轉(zhuǎn)表單時,其中的表或視圖將自動翻開,而在封鎖或釋放表單時,表或視圖會自動封鎖。翻開,而在封鎖或釋放表單時,表或視圖會自動封鎖。數(shù)據(jù)環(huán)境的設(shè)置在表單設(shè)計時完成,方法如下:數(shù)據(jù)環(huán)境的設(shè)置在表單設(shè)計時完成,方法如下:在表單設(shè)計器中點擊鼠標右鍵,在出現(xiàn)的快捷菜在表單設(shè)計器中點擊鼠標右鍵,在出現(xiàn)的快捷菜單中選擇單中選擇“數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境 ,或在,或在“顯示菜單中選擇顯示菜單中選擇“數(shù)據(jù)環(huán)境數(shù)據(jù)環(huán)境 ,就可以翻開當前表單的數(shù)據(jù)環(huán)境設(shè)計,就可以翻開當前表單的數(shù)據(jù)環(huán)境設(shè)計器,開場進展數(shù)據(jù)環(huán)境的設(shè)計。器,開

10、場進展數(shù)據(jù)環(huán)境的設(shè)計。在翻開的數(shù)據(jù)環(huán)境中,可以添加本表單所需求的在翻開的數(shù)據(jù)環(huán)境中,可以添加本表單所需求的數(shù)據(jù)表數(shù)據(jù)庫中的表或自在表或視圖。數(shù)據(jù)表數(shù)據(jù)庫中的表或自在表或視圖。 4、屬性窗口、屬性窗口所謂表單屬性就是用來描畫表單的各種特征的所謂表單屬性就是用來描畫表單的各種特征的參數(shù)。作為一個由它的父類派生出的對象,表單有參數(shù)。作為一個由它的父類派生出的對象,表單有本人完好的屬性集。它承繼了父類表單的一切屬性,本人完好的屬性集。它承繼了父類表單的一切屬性,其父類表單的屬性值就是當前表單屬性的默許值。其父類表單的屬性值就是當前表單屬性的默許值。在表單設(shè)計的過程中,僅運用其默許屬性是不夠的,在表單設(shè)

11、計的過程中,僅運用其默許屬性是不夠的,還應(yīng)根據(jù)需求對表單的某些屬性重新設(shè)置。如設(shè)置還應(yīng)根據(jù)需求對表單的某些屬性重新設(shè)置。如設(shè)置當前表單的標題、字體、顏色、大小、位置、窗口當前表單的標題、字體、顏色、大小、位置、窗口類型等等。類型等等。 在工程管理器中新建表單或修正表單時,先翻開表在工程管理器中新建表單或修正表單時,先翻開表單設(shè)計器,右鍵點擊表單頁面即會在鼠標處出現(xiàn)快捷菜單設(shè)計器,右鍵點擊表單頁面即會在鼠標處出現(xiàn)快捷菜單。選擇其中的單。選擇其中的“屬性項,翻開屬性窗口。屬性項,翻開屬性窗口。在屬性窗口中,主要含有以下幾種組件:在屬性窗口中,主要含有以下幾種組件:1 1對象列表對象列表2 2屬性分

12、類選項頁屬性分類選項頁3 3屬性列表屬性列表4 4屬性值輸入框?qū)傩灾递斎肟? 5屬性闡明屬性闡明代碼窗口是編寫事件過程和方法過程的地方,其中有一代碼窗口是編寫事件過程和方法過程的地方,其中有一個對象組合框和一個過程組合框。啟動代碼窗口的方法有個對象組合框和一個過程組合框。啟動代碼窗口的方法有以下五種:以下五種:1 1從菜單的從菜單的“顯示下拉菜單中選擇顯示下拉菜單中選擇“代碼;代碼;2 2從快捷菜單中選擇從快捷菜單中選擇“代碼代碼項;項;3 3在在“屬性窗口的屬性窗口的“程序方法選項頁中雙擊方法程序方法選項頁中雙擊方法名;名;4 4雙擊對象;雙擊對象;5 5從表單設(shè)計工具欄中按下從表單設(shè)計工具

13、欄中按下“代碼窗口按鈕。代碼窗口按鈕。 5、代碼窗口、代碼窗口6、表單控件工具欄、表單控件工具欄7、調(diào)色板工具欄、調(diào)色板工具欄8、規(guī)劃工具欄、規(guī)劃工具欄用于對齊、放置及調(diào)整對象大小,以及設(shè)置兩用于對齊、放置及調(diào)整對象大小,以及設(shè)置兩個重疊對象放置的前后位置。個重疊對象放置的前后位置。9、表單生成器、表單生成器為用戶提供一種簡單交互式的方法,可快速生為用戶提供一種簡單交互式的方法,可快速生成表單。成表單。10、自動格式、自動格式用來改動表單中選定對象的款式。用來改動表單中選定對象的款式。7.1.5 表單界面設(shè)計原那么表單界面設(shè)計原那么 1、從用戶的角度設(shè)計表單、從用戶的角度設(shè)計表單2、運用戶界面

14、盡能夠簡單和常見、運用戶界面盡能夠簡單和常見3、堅持界面的一致性、堅持界面的一致性4、要有操作上的容錯功能、要有操作上的容錯功能7.1.6 表單控件的設(shè)置表單控件的設(shè)置在在VFP中的表單控件對象,可以分為容器類和控中的表單控件對象,可以分為容器類和控件類兩大類。件類兩大類。在容器類對象中允許包含其它的容器類或控件類在容器類對象中允許包含其它的容器類或控件類對象,如表單、頁框、命令按鈕組、選項按鈕組等;對象,如表單、頁框、命令按鈕組、選項按鈕組等;而控件類對象為直接用于各種控制的組件,不能再包而控件類對象為直接用于各種控制的組件,不能再包含其它控件,如命令按鈕、標簽、文本框等。含其它控件,如命令

15、按鈕、標簽、文本框等。 運用控件工具欄添加控件運用控件工具欄添加控件 在容器對象中添加控件在容器對象中添加控件像頁框和命令按鈕組控件添加內(nèi)部的即定控件的像頁框和命令按鈕組控件添加內(nèi)部的即定控件的方法很簡單,只需改大其表示控件數(shù)目的屬性值,就方法很簡單,只需改大其表示控件數(shù)目的屬性值,就可完成控件的添加。而有些容器控件的內(nèi)部控件數(shù)是可完成控件的添加。而有些容器控件的內(nèi)部控件數(shù)是不可改的,由于它其中的控件類型無法事先確定,如不可改的,由于它其中的控件類型無法事先確定,如頁控件和容器控件,只能用在表單上添加控件的方法頁控件和容器控件,只能用在表單上添加控件的方法參與新控件。參與新控件。 1、控件的添

16、加、控件的添加2、控件的格式化、控件的格式化表單中控件的格式化,是指對它們進表單中控件的格式化,是指對它們進展添加、刪除,設(shè)置其大小、對齊方式、展添加、刪除,設(shè)置其大小、對齊方式、置前置后、格線等。經(jīng)過這些處置,使控置前置后、格線等。經(jīng)過這些處置,使控件的多少適中,大小相宜,規(guī)劃合理,勻件的多少適中,大小相宜,規(guī)劃合理,勻稱美觀。稱美觀。 編輯表單時,對控件的任何操作都要先選定該控件。選編輯表單時,對控件的任何操作都要先選定該控件。選定的方法很簡單,只需單擊之即可。同時選定多個對象的方定的方法很簡單,只需單擊之即可。同時選定多個對象的方法是:按住法是:按住ShiftShift鍵在表單上逐個單擊

17、控件對象即可。選定多鍵在表單上逐個單擊控件對象即可。選定多個對象可以同時編輯它們共有的屬性,挪動或改動大小,這個對象可以同時編輯它們共有的屬性,挪動或改動大小,這時它們之間將堅持相對位置。中選定對象只需一個時,屬性時它們之間將堅持相對位置。中選定對象只需一個時,屬性選項頁的當前屬性總是當前選定對象的屬性;無選定對象時選項頁的當前屬性總是當前選定對象的屬性;無選定對象時為表單屬性;中選定多個對象時,屬性窗口的對象列表中顯為表單屬性;中選定多個對象時,屬性窗口的對象列表中顯示為示為“多重屬性,屬性列表中為一切選定對象的共有屬性。多重屬性,屬性列表中為一切選定對象的共有屬性。 留意:選定多個控件時它

18、們應(yīng)為同一容器中的控件對象。留意:選定多個控件時它們應(yīng)為同一容器中的控件對象。假設(shè)要選擇容器類對象內(nèi)的控件,須先進入該容器。假設(shè)要選擇容器類對象內(nèi)的控件,須先進入該容器。 (1) 控件的選定控件的選定 對于控件大小和位置,無論單個選定還是多個對于控件大小和位置,無論單個選定還是多個選定,都可以用以下三種方法:選定,都可以用以下三種方法:1選中控件后拖動,按住尺寸柄拖動時為選中控件后拖動,按住尺寸柄拖動時為改動控件大小,按住控件的其他位置拖動時為改動改動控件大小,按住控件的其他位置拖動時為改動它在表單或容器中的位置,大小和位置只憑肉它在表單或容器中的位置,大小和位置只憑肉眼的覺得。眼的覺得。(2

19、) 控件大小與位置的調(diào)整控件大小與位置的調(diào)整 2選定控件后,在表單上按動四個方向鍵可以選定控件后,在表單上按動四個方向鍵可以挪動控件對象位置,挪動控件對象位置,和和為左右挪動,為左右挪動,和和可以上可以上下挪動。按住下挪動。按住Shift鍵同時按方向鍵可以改動控件的大鍵同時按方向鍵可以改動控件的大小,當按小,當按和和時可在程度方向上減小和增大對象,時可在程度方向上減小和增大對象,按按和和時可在垂直方向上減小和增大對象。時可在垂直方向上減小和增大對象。3經(jīng)過修正控件的屬性的方法來實現(xiàn)。在屬性經(jīng)過修正控件的屬性的方法來實現(xiàn)。在屬性窗口找到它的窗口找到它的Left、Top、Height和和Width

20、四個屬性,四個屬性,修正它們的數(shù)值,每改一個屬性,表單上的此控件也修正它們的數(shù)值,每改一個屬性,表單上的此控件也會發(fā)生相應(yīng)的變化。這樣做調(diào)整的大小和位置準確,會發(fā)生相應(yīng)的變化。這樣做調(diào)整的大小和位置準確,但是操作要費事些。但是操作要費事些。先選定要刪除的控件,用下述幾種方法刪除:先選定要刪除的控件,用下述幾種方法刪除: 按按Del鍵;鍵; 從從“編輯菜單中選擇編輯菜單中選擇“去除;去除; 運用剪貼板的剪切功能。與運用剪貼板的剪切功能。與MicroSoft的其的其他運用程序一樣,他運用程序一樣,VFP支持剪貼板的一切操作。支持剪貼板的一切操作。 (3) 控件的刪除控件的刪除當翻開表單設(shè)計器以后,

21、在系統(tǒng)菜單中就會參與當翻開表單設(shè)計器以后,在系統(tǒng)菜單中就會參與一個一個“格式菜單項翻開的格式菜單以及它的一切級聯(lián)格式菜單項翻開的格式菜單以及它的一切級聯(lián)菜單和對話框。運用其中的選項,可以完成表單上選菜單和對話框。運用其中的選項,可以完成表單上選定控件的格式化處置:定控件的格式化處置: 設(shè)置網(wǎng)格刻度:在翻開的表單上我們看到有設(shè)置網(wǎng)格刻度:在翻開的表單上我們看到有由虛線組成的網(wǎng)格,這是為在編輯控件時容易對齊而由虛線組成的網(wǎng)格,這是為在編輯控件時容易對齊而設(shè)置的。默許的格線間距是設(shè)置的。默許的格線間距是12像素,經(jīng)過此選項翻開像素,經(jīng)過此選項翻開設(shè)置格線刻度對話框設(shè)置本人所需求的格線刻度。設(shè)置格線刻

22、度對話框設(shè)置本人所需求的格線刻度。 (4) 表單編輯中表單編輯中“格式菜單的運用格式菜單的運用 對齊格線:中選擇了此選項前面打上對齊格線:中選擇了此選項前面打上“時,拖動控件每次挪動時,拖動控件每次挪動1/2個網(wǎng)格間距,未加選個網(wǎng)格間距,未加選擇時每次挪動一個像素間隔。擇時每次挪動一個像素間隔。 對齊:在其級聯(lián)菜單中的選項共分成兩組,對齊:在其級聯(lián)菜單中的選項共分成兩組,第一組只在選定多個控件時可用,確定所選控件間第一組只在選定多個控件時可用,確定所選控件間的對齊方式;第二組不限定選定控件個數(shù),為所選的對齊方式;第二組不限定選定控件個數(shù),為所選控件相對于表單的居中對齊??丶鄬τ诒韱蔚木又袑R

23、。 大?。河脕碚{(diào)整所選對象的大小。大?。河脕碚{(diào)整所選對象的大小。 垂直間距和程度間距:中選定多個對象時可垂直間距和程度間距:中選定多個對象時可用,添加、減小或平均分布對象之間的間距。用,添加、減小或平均分布對象之間的間距。 置前和置后:用來改動控件的疊放關(guān)系。置置前和置后:用來改動控件的疊放關(guān)系。置前:將選定的對象置于一切其他對象之前;置后:將前:將選定的對象置于一切其他對象之前;置后:將選定的對象置于一切其他對象之后。這里所說的其他選定的對象置于一切其他對象之后。這里所說的其他對象是指同一容器中的對象。留意置前與置后只改動對象是指同一容器中的對象。留意置前與置后只改動對象間的疊放次序,而不會

24、改動后面所述的對象間的疊放次序,而不會改動后面所述的Tab鍵次鍵次序。序。除用以上方法調(diào)整控件的規(guī)劃外,還可以翻開除用以上方法調(diào)整控件的規(guī)劃外,還可以翻開表單規(guī)劃工具欄,用其中的工具調(diào)整控件規(guī)劃,作用表單規(guī)劃工具欄,用其中的工具調(diào)整控件規(guī)劃,作用與格式菜單一樣。與格式菜單一樣。用表單設(shè)計工具欄中的調(diào)色板工具欄可以設(shè)置表單或用表單設(shè)計工具欄中的調(diào)色板工具欄可以設(shè)置表單或控件顏色,與用屬性修正方法設(shè)置控件顏色一樣??丶伾?,與用屬性修正方法設(shè)置控件顏色一樣。運用方法是:先選定控件,不選定控件時那么設(shè)置表運用方法是:先選定控件,不選定控件時那么設(shè)置表單的顏色;假設(shè)要調(diào)整前風光,請把調(diào)色板上的前風光單

25、的顏色;假設(shè)要調(diào)整前風光,請把調(diào)色板上的前風光按鈕按下,假設(shè)調(diào)整背風光那么把背風光按鈕按下;單按鈕按下,假設(shè)調(diào)整背風光那么把背風光按鈕按下;單擊要用的顏色。假設(shè)工具欄上的顏色不夠用,可經(jīng)過擊要用的顏色。假設(shè)工具欄上的顏色不夠用,可經(jīng)過“其其他顏色按鈕選擇別的顏色。他顏色按鈕選擇別的顏色。(5) 控件顏色的設(shè)置控件顏色的設(shè)置 經(jīng)過以上方法的處置,可以使表單上的控件規(guī)劃合經(jīng)過以上方法的處置,可以使表單上的控件規(guī)劃合理、美觀。理、美觀。4、控件的生成器、控件的生成器在在VFPVFP中,不少的控件可以運用生成器。生成器中,不少的控件可以運用生成器。生成器是用來建立控件的款式、與有關(guān)的變量或數(shù)組等捆綁、

26、是用來建立控件的款式、與有關(guān)的變量或數(shù)組等捆綁、確定數(shù)據(jù)輸入格式等的工具,是快速確定控件屬性的確定數(shù)據(jù)輸入格式等的工具,是快速確定控件屬性的一種方式,經(jīng)過它可以很容易地完成該控件的常用屬一種方式,經(jīng)過它可以很容易地完成該控件的常用屬性的設(shè)置,建立控件和變量或控件與數(shù)組之間的關(guān)系。性的設(shè)置,建立控件和變量或控件與數(shù)組之間的關(guān)系。 在一個運用程序中包含了很多對象,如表單集、表在一個運用程序中包含了很多對象,如表單集、表單、命令按鈕等。對象之間的關(guān)系不少為不同層次的嵌單、命令按鈕等。對象之間的關(guān)系不少為不同層次的嵌套關(guān)系,如表單上有頁框,頁框中包含多個頁面,頁面套關(guān)系,如表單上有頁框,頁框中包含多個

27、頁面,頁面上又有許多不同的控件等等。在對其中的某一對象操作上又有許多不同的控件等等。在對其中的某一對象操作時,需求描畫它所在的層次位置、對象名、屬性名或方時,需求描畫它所在的層次位置、對象名、屬性名或方法名,從而實現(xiàn)對該對象的援用和操作。程序中這種對法名,從而實現(xiàn)對該對象的援用和操作。程序中這種對對象位置的描畫,稱為對象的援用。對象位置的描畫,稱為對象的援用。7.2.1 絕對援用絕對援用絕對援用是在援用對象時經(jīng)過它與一切父對象的層次關(guān)系絕對援用是在援用對象時經(jīng)過它與一切父對象的層次關(guān)系來描畫其位置,包括屬性的絕對援用和方法的絕對援用。來描畫其位置,包括屬性的絕對援用和方法的絕對援用。屬性的援用

28、:【格式】屬性的援用:【格式】.方法的援用:【格式】方法的援用:【格式】. 其中的父對象,是指包含被援用對象的外層對象。如在一其中的父對象,是指包含被援用對象的外層對象。如在一個表單個表單Form1上的一個頁框?qū)ο笊系囊粋€頁框?qū)ο驪ageFrame1,頁框中又有一,頁框中又有一個頁面對象個頁面對象Page1,在,在Page1上有一個按鈕對象上有一個按鈕對象Command1,援用援用Command1的的Caption屬性時應(yīng)寫為:屬性時應(yīng)寫為: Form1.PageFrame1.Page1mand1.Caption7.2.2 相對援用相對援用援用時可以只指出被援用的對象相對于當前表單集、當前援用

29、時可以只指出被援用的對象相對于當前表單集、當前表單的位置即可,而不需求列出一切父類對象的對象名,這種表單的位置即可,而不需求列出一切父類對象的對象名,這種援用方式稱為相對援用。下表列出了幾個相對援用中常用的屬援用方式稱為相對援用。下表列出了幾個相對援用中常用的屬性和關(guān)鍵字,運用這些屬性和關(guān)鍵字援用對象會更加方便。性和關(guān)鍵字,運用這些屬性和關(guān)鍵字援用對象會更加方便。屬性或關(guān)鍵字屬性或關(guān)鍵字引引 用用PARENT對象的上一層容器類對象對象的上一層容器類對象THIS表示對象本身表示對象本身THISFORM包含當前對象的表單包含當前對象的表單THISFORMSET包含當前對象的表單集包含當前對象的表單

30、集【例如】【例如】THISFORMmand1.Click 當前表單上的當前表單上的Command1按鈕的點擊方法按鈕的點擊方法THISFORMSET.Form3.Enabled當前表單集中當前表單集中Form3表單的表單的Enabled屬性屬性THIS.Name 當前對象的對象名當前對象的對象名PARENT.Click 當前對象的父對象的點擊方法當前對象的父對象的點擊方法7.3.1 屬性的設(shè)置屬性的設(shè)置7.3.2 事件的呼應(yīng)事件的呼應(yīng)7.3.3 方法的調(diào)用方法的調(diào)用7.3.4 表單屬性表單屬性7.3.5 表單事件表單事件7.3.6 表一方法表一方法7.3.1 屬性的設(shè)置屬性的設(shè)置在在VFP中,

31、對象的屬性既可以在運轉(zhuǎn)時,也可以在設(shè)計時中,對象的屬性既可以在運轉(zhuǎn)時,也可以在設(shè)計時設(shè)置。在設(shè)計階段,屬性值可經(jīng)過設(shè)置。在設(shè)計階段,屬性值可經(jīng)過“屬性窗口設(shè)置屬性值而無屬性窗口設(shè)置屬性值而無需編寫任何代碼。應(yīng)該留意的是:不少屬性在設(shè)計時是不可用需編寫任何代碼。應(yīng)該留意的是:不少屬性在設(shè)計時是不可用的,只需經(jīng)過代碼在運轉(zhuǎn)時設(shè)置。的,只需經(jīng)過代碼在運轉(zhuǎn)時設(shè)置。在程序的運轉(zhuǎn)階段,經(jīng)常需求經(jīng)過程序代碼來改動對象屬在程序的運轉(zhuǎn)階段,經(jīng)常需求經(jīng)過程序代碼來改動對象屬性的值。某些程序中的動態(tài)效果就是經(jīng)過這種屬性值的變化實性的值。某些程序中的動態(tài)效果就是經(jīng)過這種屬性值的變化實現(xiàn)的?,F(xiàn)的。 可讀取值并且可以修正

32、值的屬性稱為可讀寫屬性。在運轉(zhuǎn)可讀取值并且可以修正值的屬性稱為可讀寫屬性。在運轉(zhuǎn)時只能讀取的屬性叫做只讀屬性。時只能讀取的屬性叫做只讀屬性。 屬性作為對象的數(shù)據(jù),具有確定的數(shù)據(jù)類型。如屬性作為對象的數(shù)據(jù),具有確定的數(shù)據(jù)類型。如對象的標題為字符型屬性,容器對象中控件的個數(shù)對象的標題為字符型屬性,容器對象中控件的個數(shù)CotrolCount為數(shù)值型只讀屬性,對象的為數(shù)值型只讀屬性,對象的Enabled屬屬性為邏輯型,對象的背風光為數(shù)值型也可以用性為邏輯型,對象的背風光為數(shù)值型也可以用RGB顏色表示方式。在設(shè)計屬性操作程序時必需先清楚顏色表示方式。在設(shè)計屬性操作程序時必需先清楚屬性的數(shù)據(jù)類型,否那么能

33、夠會發(fā)生錯誤。屬性的數(shù)據(jù)類型,否那么能夠會發(fā)生錯誤。 為屬性賦值可經(jīng)過賦值命令實現(xiàn):為屬性賦值可經(jīng)過賦值命令實現(xiàn):【格式】【格式】. = 1. 屬性的類型和賦值屬性的類型和賦值在屬性設(shè)置中,由于一個對象具有許多屬性,進展設(shè)置時假設(shè)在屬性設(shè)置中,由于一個對象具有許多屬性,進展設(shè)置時假設(shè)都需求寫出途徑,那么顯得太費事。為此,都需求寫出途徑,那么顯得太費事。為此,VFPVFP提供了提供了WITH WITH ENDWITHENDWITH構(gòu)造,它簡化了設(shè)置多個屬性的過程。例如,在表單構(gòu)造,它簡化了設(shè)置多個屬性的過程。例如,在表單Form1Form1中,要設(shè)置命令按鈕組中,要設(shè)置命令按鈕組Commandg

34、roup1Commandgroup1中中Command1Command1的多個的多個屬性,可以運用以下的語法構(gòu)造:屬性,可以運用以下的語法構(gòu)造:WITH THISFORM. Commandgroup1. Command1WITH THISFORM. Commandgroup1. Command1 .Caption = .Caption =退出退出 .FontName = .FontName =隸書隸書 .FontSize = 12 .FontSize = 12 .ForeColor = RGB(255,0,0) .ForeColor = RGB(255,0,0)ENDWITHENDWITH2.

35、 WITH 語句語句在在VFP中,一個對象有多個事件,一個事件可以有中,一個對象有多個事件,一個事件可以有多種方式觸發(fā),如鼠標、鍵盤、設(shè)置的系統(tǒng)定時器等多種方式觸發(fā),如鼠標、鍵盤、設(shè)置的系統(tǒng)定時器等觸發(fā)。而一個動作或操作也可以觸發(fā)多個事件,如運觸發(fā)。而一個動作或操作也可以觸發(fā)多個事件,如運轉(zhuǎn)表單時,會延續(xù)觸發(fā)轉(zhuǎn)表單時,會延續(xù)觸發(fā)Load、Init、Activate事件,而事件,而這些事件的發(fā)生有其固定的順序。我們可以經(jīng)過在調(diào)這些事件的發(fā)生有其固定的順序。我們可以經(jīng)過在調(diào)試器中設(shè)置事件追蹤,來追蹤事件發(fā)生的順序,查看試器中設(shè)置事件追蹤,來追蹤事件發(fā)生的順序,查看事件的觸發(fā)過程,以掌握程序運轉(zhuǎn)過程

36、進而調(diào)試程序。事件的觸發(fā)過程,以掌握程序運轉(zhuǎn)過程進而調(diào)試程序。工具工具調(diào)試器調(diào)試器工具工具事件跟蹤事件跟蹤7.3.2 事件的呼應(yīng)事件的呼應(yīng) 方法程序?qū)嵺`上是封裝在對象中的過程或函數(shù),大部分方法程序?qū)嵺`上是封裝在對象中的過程或函數(shù),大部分由派生它的類承繼而來,當然用戶也可以建立新的方法程序。由派生它的類承繼而來,當然用戶也可以建立新的方法程序。用戶自定義方法程序與承繼得到的方法程序在調(diào)用方法上完用戶自定義方法程序與承繼得到的方法程序在調(diào)用方法上完全一樣。全一樣。 調(diào)用方法程序的格式有以下兩種調(diào)用方法程序的格式有以下兩種 :【格式一】【格式一】. 【格式二】【格式二】.( ( ) 其中的其中的可以

37、采用絕對援用,也可以采用相可以采用絕對援用,也可以采用相對援用。對援用。7.3.3 方法的調(diào)用方法的調(diào)用假設(shè)方法程序沒有參數(shù),或者參數(shù)可以省略,可以采假設(shè)方法程序沒有參數(shù),或者參數(shù)可以省略,可以采用格式一。例如在表單操作中,當前記錄改動后,要刷新用格式一。例如在表單操作中,當前記錄改動后,要刷新表單上各控件的顯示值,可以調(diào)用表單的表單上各控件的顯示值,可以調(diào)用表單的Refresh刷新刷新方法:方法: THISFORM.Refresh假設(shè)方法過程帶有參數(shù),那么在調(diào)用時應(yīng)采用格式二,假設(shè)方法過程帶有參數(shù),那么在調(diào)用時應(yīng)采用格式二,即在方法調(diào)用命令中加上過程所需求的實踐參數(shù)。即在方法調(diào)用命令中加上過

38、程所需求的實踐參數(shù)。表示可以有一個參數(shù),也可以有多個參數(shù);當多個表示可以有一個參數(shù),也可以有多個參數(shù);當多個參數(shù)時,參數(shù)之間用逗號分隔。例如下面是表單的參數(shù)時,參數(shù)之間用逗號分隔。例如下面是表單的Circle 畫圓方法要用到代表圓的半徑、位置的參數(shù):畫圓方法要用到代表圓的半徑、位置的參數(shù): THISFORM.Circle(200,300,200)7.3.4 表單的屬性表單的屬性所謂表單屬性就是用來描畫表單的各種特征的所謂表單屬性就是用來描畫表單的各種特征的參數(shù)。表單的屬性大約有參數(shù)。表單的屬性大約有100100多個,但常用的并不多。多個,但常用的并不多。表表7-37-3列出了一些常用屬性。列出

39、了一些常用屬性。表 7-3 表單的幾種常見屬性屬性名取 值作 用Name字符串字符串在代碼中運用的表單名在代碼中運用的表單名Caption字符串字符串表單的標題表單的標題AutoCenter.T. 或或 .F.為真時表單自動居中為真時表單自動居中BackColorRGB三色值三色值表單背風光表單背風光Closable.T. 或或 .F.能否可以用控制菜單或按鈕封鎖能否可以用控制菜單或按鈕封鎖ControlBox.T. 或或 .F.表單能否有左上角的控制圖標和右上角的控制按鈕表單能否有左上角的控制圖標和右上角的控制按鈕Left,Top數(shù)值數(shù)值表單左邊和頂端距主窗口的位置表單左邊和頂端距主窗口的位

40、置Height,Width數(shù)值數(shù)值表單的高和寬表單的高和寬Windowstate0,1,2表單的初始形狀。表單的初始形狀。0:普通;普通;1:最小化;最小化;2:最大化最大化Moveble.T. 或或 .F.表單能否允許挪動表單能否允許挪動WindowType0,1窗口方式。窗口方式。0 :無方式;無方式;1 : 方式方式MaxButton.T. 或或 .F.表單右上角能否有最大化按鈕表單右上角能否有最大化按鈕MinButtom.T. 或或 .F.表單右上角能否有最小化按鈕表單右上角能否有最小化按鈕【補充例【補充例1 1】制造一個寬】制造一個寬428 428 高高340340像素的表單,表單標

41、題為像素的表單,表單標題為“表單屬性設(shè)置舉例表單屬性設(shè)置舉例,表單以一幅風景圖片文件名為,表單以一幅風景圖片文件名為“PicturePicture晚晚霞霞.jpg.jpg為表單背景,表單自動居中,既不能最為表單背景,表單自動居中,既不能最大化也不能最小化。大化也不能最小化。表單制造過程如下:表單制造過程如下: 7.3.5 表單的事件表單的事件VFP中對象的動作是靠事件驅(qū)動的,當用戶對中對象的動作是靠事件驅(qū)動的,當用戶對某一對象進展某種操作時,就會產(chǎn)生一個與此動作某一對象進展某種操作時,就會產(chǎn)生一個與此動作相對應(yīng)的事件,引發(fā)事件程序的執(zhí)行,從而到達用相對應(yīng)的事件,引發(fā)事件程序的執(zhí)行,從而到達用戶

42、的操作目的。戶的操作目的。表單的常見事件表單的常見事件事事 件件作作 用用事事 件件作作 用用Load表單初始化事件表單初始化事件Click點擊事件點擊事件UnLoad釋放表單前事件釋放表單前事件DblClick雙擊表單事件雙擊表單事件Init調(diào)用表單事件調(diào)用表單事件RightClick右擊表單事件右擊表單事件Activate激活表單事件激活表單事件KeyPress按鍵事件按鍵事件MouseDown 鼠標按下事件鼠標按下事件MouseMove 鼠標移動事件鼠標移動事件MouseUp鼠標釋放事件鼠標釋放事件Error運行出錯事件運行出錯事件在這里對幾個事件進展專門闡明:在這里對幾個事件進展專門闡

43、明:Load Event Load Event :這是表單運轉(zhuǎn)時觸發(fā)的第一個事件。該事件:這是表單運轉(zhuǎn)時觸發(fā)的第一個事件。該事件發(fā)生之后,依次觸發(fā)表單的發(fā)生之后,依次觸發(fā)表單的InitInit、ActivateActivate和和GotFocusGotFocus事件。事件。Init EventInit Event:這是一個表單初始化事件,表單一旦調(diào)用或運:這是一個表單初始化事件,表單一旦調(diào)用或運轉(zhuǎn),將首先執(zhí)行該事件的程序代碼。所以表單中所用的變量定轉(zhuǎn),將首先執(zhí)行該事件的程序代碼。所以表單中所用的變量定義、初值的給定,數(shù)據(jù)表的翻開假設(shè)在數(shù)據(jù)環(huán)境中沒有設(shè)置義、初值的給定,數(shù)據(jù)表的翻開假設(shè)在數(shù)據(jù)環(huán)境

44、中沒有設(shè)置的話等,都可以在這里完成。如在表單文件表單的話等,都可以在這里完成。如在表單文件表單3.scx3.scx的的Init Init EventEvent中參與如下的一段程序:中參與如下的一段程序:THISFORM.Caption=THISFORM.Caption=我的表單我的表單 thisform.backcolor=rgb(255,128,0) thisform.backcolor=rgb(255,128,0) 運轉(zhuǎn)該表單后即會自動把所運轉(zhuǎn)的表單標題改為運轉(zhuǎn)該表單后即會自動把所運轉(zhuǎn)的表單標題改為“我的表我的表單,同時表單的背風光設(shè)置為桔紅色。單,同時表單的背風光設(shè)置為桔紅色。 UnLo

45、ad:表單被釋放時產(chǎn)生的事件。在這里可以表單被釋放時產(chǎn)生的事件。在這里可以參與一些表單執(zhí)行終了時的善后任務(wù),如釋放表單中定參與一些表單執(zhí)行終了時的善后任務(wù),如釋放表單中定義的變量、數(shù)組,恢復運用程序在本表單調(diào)用前的環(huán)境義的變量、數(shù)組,恢復運用程序在本表單調(diào)用前的環(huán)境設(shè)置等等。設(shè)置等等。MouseDown:當用戶按下鼠標鍵時發(fā)生的事件。當用戶按下鼠標鍵時發(fā)生的事件。MouseMove:當用戶挪動鼠標鍵時發(fā)生的事件。當用戶挪動鼠標鍵時發(fā)生的事件。MouseUp:當用戶釋放鼠標鍵時發(fā)生的事件。當用戶釋放鼠標鍵時發(fā)生的事件。7.3.6 表單的方法表單的方法除事件過程外,對象還可以包含一些可以用來除事件

46、過程外,對象還可以包含一些可以用來完成特定任務(wù)的過程,它允許在事件過程或其他的完成特定任務(wù)的過程,它允許在事件過程或其他的方法過程中調(diào)用,這樣的過程稱為方法。如經(jīng)過表方法過程中調(diào)用,這樣的過程稱為方法。如經(jīng)過表單的單的Circle方法我們可以在表單上繪制一個圓,用方法我們可以在表單上繪制一個圓,用Refresh方法可以刷新表單等。方法可以刷新表單等。表單的常見方法表單的常見方法方方 法法作作 用用方方 法法作作 用用Cls清除表單中的文本清除表單中的文本 Refresh表單的刷新方法表單的刷新方法Circle在表單上畫圓在表單上畫圓Release表單釋放方法表單釋放方法Line在表單上畫線在表單上畫線Show顯示表單方法顯示表單方法Point在表單上畫點在表單上畫點Hide隱藏表單方法隱藏表單方法Pset設(shè)置起始繪圖點設(shè)置起始繪圖點Move表單移動方法表單移動方法【補充例【補充例2】按鼠標左鍵畫紅色的圓,按鼠標右鍵畫藍】按鼠標左鍵畫紅色的圓,按鼠標右鍵畫藍色的圓,雙擊鼠標左鍵去除表單內(nèi)容。畫圓色的圓,雙擊鼠標左鍵去除表單內(nèi)容。畫圓1.scx【補充例【補充例

溫馨提示

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

評論

0/150

提交評論