第5章 面向?qū)ο蟮某绦蛟O(shè)計.ppt_第1頁
第5章 面向?qū)ο蟮某绦蛟O(shè)計.ppt_第2頁
第5章 面向?qū)ο蟮某绦蛟O(shè)計.ppt_第3頁
第5章 面向?qū)ο蟮某绦蛟O(shè)計.ppt_第4頁
第5章 面向?qū)ο蟮某绦蛟O(shè)計.ppt_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第5章 面向?qū)ο蟮某绦蛟O(shè)計,5.1 面向?qū)ο蟪绦蛟O(shè)計概述 5.2 VFP中的對象與類 5.3 VFP中對象的屬性、方法和事件,過程化程序設(shè)計 采用結(jié)構(gòu)化編程語句來編寫的程序。這類方法的特點是容易把一個復雜的程序分解為若干個較小的過程,每個過程都可進行獨立的調(diào)試。這類設(shè)計方法發(fā)展的總思想是從程序員角度考慮使程序設(shè)計更簡單,而較少從使用角度去考慮。使用這類方法設(shè)計的程序流程完全由程序員控制,使用者只能做由程序員預先安排好的事情。,5.1 面向?qū)ο蟪绦蛟O(shè)計概述,面向?qū)ο蟪绦蛟O(shè)計 這類程序設(shè)計思想是面向?qū)ο?,即設(shè)計的重要任務在于描述對象。程序是由事件驅(qū)動的,因而,在執(zhí)行過程中,持續(xù)等待的是一個發(fā)生在對

2、象上的事件。而發(fā)生什么事件則要看使用者的操作,如單擊、雙擊鼠標等。至于下一步的程序流向,則要看驅(qū)動的是什么事件。這類程序設(shè)計的主要目的是從如何方便與簡化使用入手,由使用者控制程序流向,這在一定程序上增加了編程的難度.,基本要領(lǐng): 1.創(chuàng)建或選用適合自己問題需要的若干對象。 2.將各個對象組裝在一起并通過對對象固有屬性的設(shè)置完成部分功能及界面設(shè)計。 3.根據(jù)功能需要選擇對象提供的事件并將控 制操作的程序代碼寫在對應事件過程中。,對象 由描述該對象屬性的數(shù)據(jù)和可以對這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。 類 對具有相同屬性和行為的一組相似的對象的抽象。類在現(xiàn)實世界中并不能真正存在。 類又可

3、以分為父類和子類。父類是可以用作其它類基礎(chǔ)的類。子類則是以對應父類為起點建立的擴展類,它將繼承父類的所有特征。例如,自然界中所有的動物都可以看成是生物的子類,因為它不僅繼承了生物的所有特征,而且擴展了自己的新特征: 生物類具有共同的特征:有生命,生命有長短;能夠進行新陳代謝;能夠繁衍后代等。 而動物類除了具有上述共同的特征外,它還具有:能夠活動;不能進行光合作用等。,5.1.1 對象與類,5.1.2 屬性、消息、方法和事件,屬性 就是類中所定義的數(shù)據(jù),是對客觀世界實體所具有的性質(zhì)的抽象。如控件的布局屬性、修飾屬性等。 消息 消息是要求某個對象執(zhí)行某個操作的規(guī)格說明。 通常由三部分組成:對象名.

4、消息名(參數(shù))。 例: Form1.Show Form1.Refresh,方法 就是對象所能執(zhí)行的操作。方法描述了對象執(zhí)行操作的算法,響應消息的方法。實際上方法是一段能完成特定操作的程序代碼。 事件 事件(Event)是某個特定時刻所發(fā)生的事情,引起對象從一個狀態(tài)轉(zhuǎn)換到另一個狀態(tài)。瞬間完成,沒有持續(xù)時間。,5.2 VFP中的對象與類,控件:放在一個表單上用以顯示數(shù)據(jù)、執(zhí)行操作或使表單更容易閱讀的一種圖形對象,如文本框、命令按鈕等. 數(shù)據(jù)環(huán)境:用于管理在表單中使用和處理的數(shù)據(jù)庫及表信息。 文本框:允許在表單上輸入或查看文本的一種控件,一般只 包含一行文字。 命令按鈕:用戶和程序交互的主要工具,用

5、于接受事件觸發(fā), 進而完成指定的操作。,5.2.1 VFP中的對象,編輯框:在表單上用于接收輸入或查看文本的一種控件。 可以包含多行文字。 表格: 將數(shù)據(jù)以表格的形式表示出來。 選項組按鈕:可包含多個選項按鈕,允許在一組按鈕中選擇一個。 頁面:可用于顯示信息,可包含任意控件。 復選框:指明一個選項是選定的還是不選定的控件,選定 時在框中出現(xiàn)“”標記。 列表框:提供一系列可選條目的控件。 組合框:綜合了文本框和列表框功能的控件,既可輸入又 可選擇一行文本信息。,線條:用于在表單上繪制線條的控件,以裝飾表單。 形狀:用于在表單上繪制形狀(圓形和矩形)的控件,以裝飾表單。 圖象:用于在表單上裝貼.B

6、MP圖片,以裝飾表單。 微調(diào):用于從一定范圍內(nèi)的數(shù)值中進行選擇的控件。 標簽:用于說明表單上正文內(nèi)容的標題的控件。 定時器:用于檢測系統(tǒng)的時間,按定時間間隔執(zhí)行程序代碼 的控件。運行時不可見。 OLE綁定型控件:用于在表單上顯示表中的通用字段的OLE對 象的內(nèi)容。 OLE控件:用于在表單上添加OLE對象。OLE控件不受表中的 通用字段的約束。,5.3 VFP中對象的屬性、方法和事件,在VFP中,表單、表單集以及所有控件都可以看成是應用程序中的對象,可以對它們設(shè)置屬性、事件和方法。,5.3.1 VFP中對象的屬性,布局屬性 修飾屬性 狀態(tài)屬性 數(shù)據(jù)屬性 格式屬性,對象的屬性值是由對象所基于的類決

7、定的。對象值的設(shè)置可以在設(shè)計時通過屬性窗口設(shè)置,也可以直接編進程序代碼在運行的過程中設(shè)置。,1.在屬性窗口中設(shè)置 2.在程序代碼中設(shè)置 Container.Object.Property=Value 例: mand1.caption=“ 添加” 或:With Endwith 例: With Thisform.Command1 .Caption=添加 .Width=100 .FontName=黑體 .FontBold=.T. .ForeColor=RGB(0,128,255) Endwith,設(shè)置對象的屬性,一、修飾屬性 1. Caption 用于指定顯示在對象提要中的文本內(nèi)容(標題). 對于不

8、同的對象,其顯示方式不同。 2. Picture 用于確定顯示在控件中的圖片文件或圖標文件 3. BackColor、ForeColor 用于指定對象中顯示文本和圖形時的背景色或前景色。 二、狀態(tài)屬性 1. Enabled 確定對象是否響應用戶觸發(fā)的事件。設(shè)置值為邏輯值.T.或.F., 缺省為.T.(響應用戶觸發(fā)的事件)。,對象的屬性,2. Visible 確定對象是否可見。缺省為.T.(可見). 3. ReadOnly 用于指定是否允許用戶編輯一個控件,或指定與臨時表對象相關(guān)的表或視圖是否允許被更新 三、數(shù)據(jù)屬性 1. ControlSource 用于確定綁定對象的數(shù)據(jù)源。數(shù)據(jù)源可以是字段或

9、變量。 2. RecordSource 用于確定表格控件綁定對象的數(shù)據(jù)源。 3. RecordSourceType 用于確定如何打開表格控件的數(shù)據(jù)源??梢允潜砻?、別名、查詢、SQL說明等。,對象的屬性,4. RowSource 確定組合框或列表框控件中值的數(shù)據(jù)源??梢允潜砻?、字段等。 5. RowSourceType 確定組合框或列表框控件中數(shù)據(jù)源的類型。 6. Value 確定控件的當前狀態(tài)或控件中數(shù)據(jù)源的當前值。 7.ButtonCount 指定命令組或選項組中的按鈕數(shù). 8. Buttons 用于訪問按鈕組中每一個按鈕的數(shù)組,數(shù)組下標介于1到ButtonCount之間. 9. Colum

10、nCount 指定表格、組合框和列表框中列的數(shù)目。,對象的屬性,10. Columns 用于訪問表格中每一個列的數(shù)組。數(shù)組的下標介于1到ColumnCount之間。 11.PageCount 指定頁框中的頁數(shù)。 12.Pages 用于訪問頁框中的每一個頁的數(shù)組。數(shù)組的下標介于1到PageCount之間。 13.SpinnerHighValue、SpinnerLowValue 確定微調(diào)控件值的范圍,對象的屬性,四、格式屬性 1.Format 指定控件中Value屬性的輸入和輸出格式。 2.InputMask 確定如何在控件中輸入和顯示信息。 3. PasswordChar 確定用戶鍵入的字符或占

11、位符在文本框中是否顯示。常用于口令或密碼輸入。 五、其他屬性 Name 指定在程序代碼中用于引用對象的名稱。,對象的屬性,5.3.2 VFP中對象的方法,系統(tǒng)定義的方法是在定義類時事先編好的程序代碼,用 于完成事先規(guī)定的操作??梢宰约憾x新的方法,以完成 特定的功能操作。 1. AddItem方法 在組合框或列表框中添加一個數(shù)據(jù)項,并且可以指定數(shù)據(jù)項索引。 格式:控件.AddItem(cItem,nIndex,nColumn) 例: bo1.AddItem(“張三”,4) 2. RemoveItem方法 在組合框或列表框中刪除一個數(shù)據(jù)項,并且可以指定數(shù)據(jù)項索引。,格式:控件.RemoveIte

12、m(nIndex) 例:thisform.list1.RemoveItem(thisform.list1. listindex) 3. AddObject方法 運行時,在容器對象中添加對象。 格式: 容器.AddObject(cName, cClass) 例: thisform.AddObject(cmdpre , CommandButton) 4. CloseTables方法 關(guān)閉與數(shù)據(jù)環(huán)境相關(guān)的表和視圖。 格式: DataEnvironment.CloseTables 例: thisform.DataEnvironment.CloseTables,5. Refresh方法 重畫表單或控件,

13、并刷新所有值。 格式: 對象.Refresh 例: thisform.Refresh 6. Release方法 從內(nèi)存中釋放表單集或表單。 格式: 對象.Release thisform.Release 7. SetAll方法 為容器對象中的所有控件或某類控件指定一個屬性設(shè)置。 格式: 容器. SetAll(cProperty,Value,cClass) 例: thisform. SetAll(Enabled, .f. ,CommandButton),8. SetFocus方法 為一個控件指定焦點,即確定當前操作的對象。 格式: 控件.SetFocus 例: thisform.text1.Se

14、tFocus 9. Hide方法 隱藏表單、表單集或工具欄。 格式: 控件.Hide 例: thisformset.form1.Hide 10. Show方法 顯示一個表單。 格式: 控件.Show 例: thisformset.form1.Show,11. Clear 方法 清除列表框或組合框中的文本. (RowSourceType=0) 格式: 控件.Clear 例: thisform.list1.Clear 12. Requery方法 重新查詢列表框或組合框控件所基于的Rowsource,并使用新值更新列表. 格式: 控件.Requery 例: ThisForm.List1.Requer

15、y,用戶通常用單擊鼠標、雙擊鼠標、拖動鼠標等動作來 運行應用程序, 這些可以為系統(tǒng)所接受的動作稱為事件。 事件是一個對象可識別的動作,在VFP中,可以編寫相 應的代碼對此動作進行響應。除了用戶動作可以產(chǎn)生事件 外(如單擊鼠標或按下一個鍵),程序代碼或系統(tǒng)(如計時器) 也可以產(chǎn)生事件。 實際中選取適當?shù)氖录r機,為之編寫完成特定功能 的程序代碼。不可以自己定義新的事件。,5.3.3 VFP中對象的事件,1. Activate事件 激活表單、表單集或頁對象時發(fā)生此事件 2. AfterCloseTables事件 在表單、表單集的數(shù)據(jù)環(huán)境中,釋放指定表或視圖后, 發(fā)生此事件.應用于數(shù)據(jù)環(huán)境 3. B

16、eforeOpenTables事件 僅發(fā)生在與表單集、表單的數(shù)據(jù)環(huán)境相關(guān)聯(lián)的表和視圖打開之前。應用于數(shù)據(jù)環(huán)境. 4. Click事件 當在程序中包含觸發(fā)此事件的代碼,或者將鼠標指針放在一個控件上按下并釋放鼠標左鍵,或者更改特定控件的值,此事件發(fā)生。,5. Destroy事件 釋放一個對象的實例時發(fā)生 6. GotFocus事件 當通過用戶操作或執(zhí)行程序代碼使對象接收到焦點時,此事件發(fā)生。 7. Init事件 在創(chuàng)建對象時發(fā)生 8. InteractiveChange事件 在使用鍵盤或鼠標更改控件的值時,此事件發(fā)生。 9. KeyPress事件 當用戶按下并釋放某鍵時發(fā)生此事件,10. Load事件 在創(chuàng)建表單集、表單前發(fā)生。 11. Unload事件 在表單、表單集被釋放時發(fā)生 12. Timer事件 當經(jīng)過Interval屬性中指定的毫秒數(shù)時此事件發(fā)生。應用于計時器。 13. Valid事件 在控件失去焦點之前發(fā)生。 14. When事件 在控件接收焦點之前此事件發(fā)生。,事件發(fā)生時,若沒有與之相關(guān)的代碼,則不會發(fā)生任何操作

溫馨提示

  • 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

提交評論