06表單設(shè)計基礎(chǔ)_第1頁
06表單設(shè)計基礎(chǔ)_第2頁
06表單設(shè)計基礎(chǔ)_第3頁
06表單設(shè)計基礎(chǔ)_第4頁
06表單設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第6章 表單設(shè)計基礎(chǔ)6.1 面向過程和面向?qū)ο蟮某绦蛟O(shè)計6.2 面向?qū)ο蟮幕靖拍?.3 VFP中的類和對象6.4 事件和方法程序16.1 面向過程和面向?qū)ο蟮某绦蛟O(shè)計6.1.1 面向過程的程序設(shè)計 在面向過程的程序設(shè)計中,整個系統(tǒng)以功能分類,它被劃分成各類功能模塊,各個功能模塊如果需要,還必須劃分為更為具體的小功能模塊,直至該功能模塊能以一個函數(shù)或一個過程來實現(xiàn)為止。它具有思路清晰、功能單一等特點,但其缺點也是很明顯的,主要表現(xiàn)在:1程序代碼被分為模塊和函數(shù),程序越大,在代碼中出現(xiàn)錯誤的可能性也就越大,因此不便維護和修改。22程序設(shè)計人員需要用大量的時間去設(shè)計輸入輸出界面,而且設(shè)計出來的界面

2、又不能像用戶普遍使用的如WINDOWS視窗操作系統(tǒng)那樣被接受。3程序在執(zhí)行過程中受過程的控制,會一直獨占計算機的資源,難以實現(xiàn)多任務(wù)的操作。 由于以上這些問題,使得VFP程序設(shè)計逐漸演變發(fā)展到了OOP?,F(xiàn)在的VFP等Windows應(yīng)用軟件,既提供了傳統(tǒng)的面向過程的程序設(shè)計方法,也提供了以下的程序設(shè)計方法。3面向?qū)ο蟪绦蛟O(shè)計的兩個基本特點是:(1) 它是可視化的編程方式。(2) 程序運行沒有一定的順序,由事件驅(qū)動。 對象是程序和數(shù)據(jù)的結(jié)合體,是VFP的一個操作單位。對象和對象又可組成新的對象。在面向?qū)ο蟮某绦蛟O(shè)計方法中,用戶需要考慮的是如何創(chuàng)建對象,及對對象應(yīng)實施哪些操作,每個操作應(yīng)完成什么功能

3、,以完成用戶提出的所有要求。6.1.2 面向?qū)ο蟮某绦蛟O(shè)計4 在面向?qū)ο蟮某绦蛟O(shè)計中,最重要的概念是對象和類,它們是關(guān)系密切但又完全不同的兩個概念。6.2.1對象(object) 對象是數(shù)據(jù)和數(shù)據(jù)操作代碼的組合體。對象既具有靜態(tài)的屬性又可具有動態(tài)的行為。在面向?qū)ο蟮某绦蛟O(shè)計中,對象是構(gòu)成程序的基本單位,是程序的運行實體。對象可以是任何的具體事物。在VFP中,標(biāo)簽、表格、表單以及所有控件都可看成是應(yīng)用程序中的對象。對象是應(yīng)用程序中的一個處理單位。6.2 面向?qū)ο蟮幕靖拍? 6.2.2 類(class) 類含有某個對象的數(shù)據(jù)和操作功能,是對一組具有相同屬性和方法的對象的抽象,是對象的原型。在類定

4、義代碼中可含有對象的屬性、事件和方法。 類和對象是抽象和具體的關(guān)系。類包含有關(guān)對象的特征和行為信息,是對象定義的模板。對象是類的具體化和實例化,所以對象又稱為類的實例(Instance)。一個類可以實例化為多個對象,各個對象都有所屬類的屬性、事件和方法程序,但每個對象的屬性值可以不同。類是一個靜態(tài)的概念,只有實例化的對象才是可運行的實體。6 類具有封裝性、繼承性和多態(tài)性。 封裝性(Encapsulation)。封裝是指將對象的特性(屬性)和行為(方法)包裝在一起。 繼承性(Inheritance)。類都可以從已有的類中派生而來,派生出的子類繼承父類的全部屬性和法,可以添加新的方法,也可放棄若干

5、原有的方法。 多態(tài)性(Polymorphism)。多態(tài)性是指相同的操作可以作用于多種類型的對象上,并獲得不同的結(jié)果。Visual FoxPro允許用戶利用多態(tài)性。 76.2.3 類與對象的關(guān)系 類和對象關(guān)系密切,但并不相同。類包含了有關(guān)對象的共同特征和行為信息,它是對象的藍圖和框架。類是對象的抽象描述,對象是類的一個具體實例。例如,電話可以是一個類,而這個類的實例對象,便是某一部具體的電話。 從某種程度上講,類也是一種對象,例如學(xué)生是一類也是一個對象。類決定了對象的特征。對象可以是類的成品,類與對象是應(yīng)用程序的組裝模塊。8 6.2.4 屬性 對事物性質(zhì)等進行的描述稱為事物的屬性。屬性是對象的特

6、征,是對象某一方面的行為參數(shù)。它描述對象的狀態(tài)或某一方面的行為功能,說明了對象可以完成的工作,但還沒有說明如何去完成任務(wù)。狀態(tài)是對象在其生命周期中某個特定階段所處的某種境域、所表現(xiàn)的形態(tài),行為是指對象在某種狀態(tài)下所做的一系列處理、操作、反應(yīng)。9 6.3 VFP中的類和對象 VFP的對象所具有的屬性是由派生該對象的類決定的,而且這些屬性既可以在設(shè)計時指定,也可以在運行時指定。當(dāng)用戶打開表單或控件的屬性窗口,并選擇“其它”選項卡時,可能會看到涉及類定義的以下幾個屬性:BaseClass(基類):VFP中內(nèi)部定義的類,用戶可使用它們創(chuàng)建自定義類,如表單和所有控件都是基類,用戶可在此基礎(chǔ)上創(chuàng)建新類,增

7、添需要的功能。 Class(類):派生該對象的類名。(3) ParentClass(父類):派生該對象的父類名。僅對自定義類有效,如果類是直接從VFP基類上派生的,則本項為空。 106.3.1 容器類容器類可以包含其它對象,并允許訪問這些對象。 這些對象無論是在運行時還是在設(shè)計時都可以單獨地操作。常用的容器類有:表單(Form)、表單集(FormSet)、列(Coumn)、命令按鈕組(CommandButton Group)、容器(Container)、表格(Grid)、選項按鈕組(OptionButtonGroup)、頁(Page)、頁框(PageFrame)、工具欄(TooBar),其中,

8、表單集和頁框是不可見類。11 6.3.2 控件類 控件類中不能包含其它對象,只能加入到其它對象中??丶惖姆庋b比容器類更為嚴(yán)密。當(dāng)引用容器中的控件對象時必須經(jīng)過容器,其格式是:容器對象.控件對象.屬性。例如,在Form1表單中設(shè)置標(biāo)簽abc1的Caption屬性:Form1.abc1.Caption=姓名12VFP中常用的控件類有:復(fù)選框(CheckBox)、組合框(ComboBox)、命令按鈕(CommandButton)、編輯框(EditBox)、圖像(Image)、標(biāo)簽(abe)、線條(ine)、列表框(IstBox)、選項按鈕(OptionButton)、形狀(Shape)、微調(diào)(Sp

9、inner)、文本框(TextBox)、計數(shù)器(Timer)、控件(Contro)、列標(biāo)題(Header)、OE綁定型控件(OE Bound Contro)、OE容器控件(OE Container Contro)、自定義類(Custom),其中計數(shù)器和自定義類是不可見類。136.3.3 容器對象和控件對象 VFP的類有容器類和控件類之分,所以VFP中的對象也分為容器對象和控件對象(有時也稱之為非容器對象)。1容器對象容器對象是由容器類創(chuàng)建的對象,它們可以包含其它對象,并且允許用戶在設(shè)計和運行時訪問這些對象。 14容器對象所能包含的對象命令按鈕組CommandGroup命令按鈕選項按鈕組Opti

10、onGroup選項按鈕表格Grid表格列頁框PageFrame頁面頁面Page任意控件、容器和自定義對象表單集FormSet表單、工具欄表單Form頁框、任意控件、容器或自定義對象表格列Header標(biāo)頭對象以及除表單、表單集、工具欄、計時器和其它列對象以外的任意對象工具欄ToolBar任意控件、頁框和容器容器OleControl任意控件表6.1 各種容器類及其所能包含的對象 152控件對象 控件對象也稱為非容器對象,即控件對象可以包含在容器對象中,但控件類對象沒有“AddObject”(添加對象)的方法程序,因此在控件對象中不能添加其它對象,即控件對象不能作為其它對象的父對象。 控件對象一般作

11、為一個獨立的部件出現(xiàn),提供移動、拖放和單擊等操作,用戶可執(zhí)行封裝在控件內(nèi)的方法程序。166.4 事件和方法程序 VFP中的每個對象都是用類定義的。在VFP的“表單控件工具欄”上,控件代表類并不實際存在,直到在表單上放置了控件的對象為止。創(chuàng)建控件也就是在復(fù)制控件類,或者說是建立控件類的實例。這個實例就是程序中將引用的對象。176.4.1 VFP常用事件 事件確定控件對外部條件的響應(yīng)。事件由各個控件識別,再由應(yīng)用程序處理。例如,命令按鈕可以識別鼠標(biāo)單擊事件,但無法響應(yīng)這個事件,除非提供了所需要的代碼,即必須告訴VFP在用戶單擊特定命令按鈕時所進行的操作。每個對象都能夠識別和響應(yīng)系統(tǒng)預(yù)先定義好的特定

12、事件。用戶不能自定義新的事件。在面向?qū)ο蟮某绦蛟O(shè)計中,程序的執(zhí)行取決于當(dāng)前所發(fā)生的事件,并由事件來驅(qū)動。什么事件發(fā)生了,便有相應(yīng)的事件處理程序去處理。 事件可由用戶或系統(tǒng)激活,多數(shù)情況下,事件是通過用戶的交互操作產(chǎn)生的。用戶可以編寫具有一定功能的程序代碼,以響應(yīng)特定的事件。 18事件說明Init當(dāng)對象創(chuàng)建時激活Destroy當(dāng)對象從內(nèi)存中釋放時激活Error當(dāng)類中的事件或方法程序過程中發(fā)生錯誤時激活表6.2 最小事件集 19 表6.3 核心事件表 206.4.2 VFP常用方法程序介紹 方法程序是對象能夠執(zhí)行的一些操作,不同的對象具有不同的操作行為。為了很好地、準(zhǔn)確地觸發(fā)并執(zhí)行方法程序,配備了

13、控件和事件;同時設(shè)置了數(shù)據(jù)環(huán)境以滿足用戶對使用信息數(shù)據(jù)范圍的選取并構(gòu)成與其他幾個方面的完整配合體系??梢园褜傩钥醋魇且粋€對象的性質(zhì)參數(shù),把事件看作是觸發(fā)對象響應(yīng)的指令,把方法程序看作是對象的響應(yīng)動作,把數(shù)據(jù)環(huán)境看作是對象的生存與運行條件。 方法程序是一段能完成特定操作的程序代碼。方法程序既可以與相應(yīng)的事件相關(guān)聯(lián),例如,為Cick事件編寫的方法程序代碼將在Cick事件出現(xiàn)時被執(zhí)行,也可以獨立于事件而單獨存在,此類方法程序必須在代碼中被顯式地調(diào)用。例如,命令按鈕對象具有SetFocus方法程序,該方法程序的作用是將焦點放置到該按鈕上。表6.4給出了VFP中常用方法程序。21常用方法程序用途說明Ad

14、dColumn在表格控件中添加一個列對象AddObject在表單對象中添加一個對象Box在表單對象中畫一個矩形Circle在表單對象中畫一個圓或橢圓Clear清除控件中的內(nèi)容Cls清除表單上的圖形和文本Draw重畫表單對象Hide隱藏表單、表單組或工具Line在表單對象上畫一條線Move移動對象Point返回表單上指定點的紅藍綠3種顏色Print在表單上打印一個字符串PrintForm打印當(dāng)前表單的屏幕內(nèi)容ReadExpression返回保存在一個屬性單中的表達式字符串表6.4常用方法程序22ReadMethod00返回一個方法中的文本Refresh重畫表單或控件,并刷新所有數(shù)據(jù)Release從內(nèi)存中釋放表單或表單組RemoveObject在運行時從容器對象中刪除指定的對象ResetDrfault將Time控件復(fù)位,使它從零開始計數(shù)Saveas把對象保存為.scx文件Savea

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論