vfp第7章 面向對象程序設計_第1頁
vfp第7章 面向對象程序設計_第2頁
vfp第7章 面向對象程序設計_第3頁
vfp第7章 面向對象程序設計_第4頁
vfp第7章 面向對象程序設計_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、本講內容本講內容 第第7章章 面向對象程序設計面向對象程序設計 7.1 面向對象程序設計基本概念 1.對象:構成應用程序的任何可操作的實體,如表、窗口、對話框等。對象:構成應用程序的任何可操作的實體,如表、窗口、對話框等。 VFP中,常用的對象共有21個,分為控件類與容器類兩種。 (1)控件:是表單(FORM,即窗口樣式,用于提供操作界面)上顯示數據和執(zhí) 行操作的基本對象,例如:命令按鈕、文本框、標簽等。 (2)容器:是可以容納其他對象的對象。例如:選項按鈕組、命令按鈕組等。 2.屬性屬性 對象的屬性用來表示對象的特征、狀態(tài)。如命令按鈕有位置、大小等 3.方法方法 對象的方法是對象內定的通用過

2、程,能使對象執(zhí)行一個操作。如:調用表單的Release方法能將表單從內存釋放。可理解為內部函數。 4.事件事件 事件是指對象能識別并能響應的一些預先定義好的動作,可由用戶或系統(tǒng)觸發(fā)。如:單擊鼠標等。 5.事件驅動的工作方式事件驅動的工作方式 某事件一旦被觸發(fā),系統(tǒng)就去執(zhí)行該事件對應的過程代碼,當然事件過程的代碼需要用戶事先編寫好;過程執(zhí)行完畢,則系統(tǒng)又處于等待狀態(tài)。 面向對象程序設計不同于傳統(tǒng)的面向過程程序設計,不再是單純地從代碼的第一行編到最后一行,而是考慮如何創(chuàng)建對象,利用對象來簡化程序設計。容器能包含的對象表單集表單、工具欄表單頁框、表格、任何控件頁框頁面頁面表格、任何控件表格表格列表格

3、列標頭對象、除表單、表單集、工具欄、計時器和列對象以外的對象選項按鈕組選項按鈕命令按鈕組命令按鈕工具欄任何控件、頁框、容器Container容器任何控件事件觸發(fā)時機事件觸發(fā)時機Load創(chuàng)建對象前MouseUp釋放鼠標鍵時Init創(chuàng)建對象時MouseDown按下鼠標鍵時Activate對象激活時MouseMove拖動鼠標時Gotfocus對象得到焦點時KeyPress按下并釋放某鍵盤鍵時Click單擊鼠標左鍵時Valid對象失去焦點前DblClick雙擊鼠標左鍵時LostFocus對象失去焦點時InteractiveChange當用戶通過鍵盤或鼠標改變一個控件的值時Unload釋放對象時 Vfp

4、部分常見事件列表 容器及包含的對象 7.2.1 表單設計器的工具 1.表單設計器的功能與特點: (1)創(chuàng)建表單及表單上的各個對象。 (2)修改已有的表單。 (3)操作方便與可視化。 2.表單設計工具 可供表單設計使用的各要素與工具: (1)表單設計器窗口與表單窗口:多數設計工作將在表單窗口中完成。 (2)屬性窗口:可以完成對象屬性的設置與修改。 (3)代碼編輯窗口:供用戶編寫事件或方法的程序代碼。 (4)各種工具欄 (5)數據環(huán)境設計器窗口:為表單創(chuàng)建或修改數據環(huán)境。 (6)快捷菜單:不同對象有不同快捷菜單幫助完成經常性工作。 (7)動態(tài)菜單 表單設計器 7.2.2 表單的創(chuàng)建與表單設計器的操

5、作 表單的創(chuàng)建一般步驟為:打開表單設計器設置數據環(huán)境添加對象調整對象的位置設置對象屬性編寫事件代碼保存表單執(zhí)行表單。 例:(P166) 1.打開表單設計器:三種方法(打開表單設計器:三種方法(P167) 2.設置數據環(huán)境設置數據環(huán)境 (1)數據環(huán)境概念 數據環(huán)境泛指定義表單使用的數據源,可以是表、視圖和表間關系。 (2)數據環(huán)境設計器打開 打開數據環(huán)境設計器可使用表單快捷菜單的“數據環(huán)境”命令,或選定“顯示”菜單的數據環(huán)境命令。 (3)數據環(huán)境設計器快捷菜單與數據環(huán)境菜單 數據環(huán)境菜單提供了幾個命令,具有查看和修改數據環(huán)境的功能 添加命令 移去命令 瀏覽命令 例題數據環(huán)境的設置: 選定表單快捷

6、菜單的“數據環(huán)境”命令以打開數據環(huán)境設計器。 選定“添加表或視圖”對話框的STAFF表,選定“添加”按鈕。 3.對象的添加對象的添加 在VFP中實現對象創(chuàng)建的主要工具是表單控件工具欄(介紹)與字段映象。 (1)利用表單控件工具欄添加對象 (2)利用字段映象添加對象 字段映象:指當用戶打開數據環(huán)境設計器窗口,選定表中的任一字段,將其拖至表單窗口中釋放,將在對應位置產生兩個對象,一個是標簽對象,用來顯示字段名或字段標題;另一個對象類型則取決定于字段類型,字符型、數值型、日期型等用文本框對象表示,邏輯型用復選框表示,備注型用編輯框表示,通用型用ActiveX綁定控件表示。而且該對象與字段數據自動實現

7、數據綁定。 所謂數據綁定是指將對象的值與某個數據源聯系在一起。這樣對象的值便與數據源的值相一致,當對象的值被修改也就意味字段的值被修改,反之也一樣。 例題對象的添加: 利用字段映象功能往表單逐個添加字段對象。 單擊表單控件工具欄的命令鈕按鈕,單擊表單的對應位置,創(chuàng)建Command1對象,依照此方法再創(chuàng)建。 (4)四個輔助按鈕 選定對象按鈕按鈕鎖定按鈕查看類 生成器鎖定按鈕 表單控件工具欄表單控件工具欄選定對象選定對象文本框文本框命令鈕命令鈕選項按鈕組選項按鈕組組合框組合框圖象圖象Activex綁定控件(oleboundcontrol)分隔符分隔符按鈕鎖定按鈕鎖定微調控件微調控件頁框頁框形狀形狀

8、查看類查看類標簽標簽編輯框編輯框命 令 按 鈕命 令 按 鈕組組復選框列表框列表框表格表格計時器計時器Activex控件(olecontrol)線條線條容器容器超級鏈接超級鏈接生成器鎖生成器鎖pg定定定定 4.調整控件的位置調整控件的位置 5.設置對象的屬性設置對象的屬性 (本例如P174) 屬性窗口如圖所示,包括對象組合框、選項卡、屬性設置框、屬性列表框、屬性說明信息。屬性窗口的組成屬性列表框屬性列表框屬性設置框屬性設置框選項卡選項卡對象組合框對象組合框屬 性 說 明 信屬 性 說 明 信息息 6.事件代碼的編寫(本例代碼見事件代碼的編寫(本例代碼見P174) 編寫事件代碼先要打開代碼編輯窗

9、口,打開某對象代碼編輯窗口的方法有很多種,具體如下: 方法1:雙擊該對象。 方法2:選定該對象的快捷菜單的“代碼”命令。 方法3:選定“顯示”菜單的“代碼”命令。 代碼編輯窗口中包含兩個組合框和一個窗口。 例題事件代碼編寫:Command1的Click事件代碼編寫如下: IF RECNO()1 SKIP -1 THISFORM.REFRESH ELSE MESSAGEBOX(本條記錄是首記錄!) ENDIF 7.保存表單保存表單 表單設計或修改完畢要存盤,存盤方法如下: 保存表單而不退出表單設計器:選擇“文件”菜單“保存”命令,若是新創(chuàng)建的表單要輸入文件名。 保存表單并退出表單設計器:按Ctr

10、l+W鍵或單擊表單設計器的關閉按鈕。若是新創(chuàng)建的表單要輸入文件名。 表單文件保存后,將產生擴展名為.SCX的表單文件及擴展名為.SCT的表單備注文件。 8.執(zhí)行表單執(zhí)行表單 執(zhí)行表單有多種方法,具體如下: 方法1.表單設計器未關閉時,表單快捷菜單的“執(zhí)行表單”命令可運行表單。 方法2.用命令DO FORM 表單名 方法3.在項目管理器中選定要執(zhí)行的表單選定“運行”按鈕。 作業(yè):設置E:學生表為默認目錄,完成例7.1的操作。 7.3 事件代碼編寫 VFP的事件代碼由VFP命令、屬性設置語句、方法與事件的調用語句構成。 7.3.1 在容器分層結構中引用對象 1.對象的容器層次 VFP的對象分為容器

11、類和控件類,VFP規(guī)定,在容器分層結構中引用對象必須提供對象的地址,即指明它相對于容器分層結構的關系。圖1是一種可能的容器嵌套方式。 2.對象引用規(guī)則 VFP為了方便在容器分層結構中引用對象,提供并規(guī)定了一些關鍵字及引用格式。 (1)引用關鍵字列表(圖2) 3.引用格式引用格式 引用格式:引用關鍵字.對象名.對象的屬性、事件或方法程序 (1)引用可以是單級的。例:THIS.Caption (引用本對象的caption屬性) (2)引用也可以是多級的,但要逐級引用。例:THISFORM.command1.Caption(引用本表單的 對象command1的caption屬性) (3)控件也可引用

12、包含它的容器。例:THIS.PARENT.Caption(引用包含本對象的直接容器的caption屬性)關鍵字引用的對象THIS當前對象本身THISFORM當前對象所在的表單THISFORMSET 當前對象所在的表單集PARENT當前對象的直接容器容器嵌套層次 引用關鍵字 formset1form1command1pageframe1page17.3.2 編程設置屬性和調用方法程序 1.編程設置對象屬性 設置格式:對象名.屬性名=設置值 例7.2:設計包含一個命令按鈕的表單,單擊該命令按鈕將使它在屏幕上隨機移動。表單的背景色為藍色且運行時在屏幕上居中。 2.編程調用對象方法程序 調用格式:格式

13、:對象名.方法程序名(參數1,參數2,) (1)Cls方法 格式:OBJECT.Cls 功能:清除表單上的圖形或文本。 (2)Print方法 格式:OBJECT.Print(cText) 功能:在表單上打印字符串。 例7.3在表單上顯示九九乘法表,單擊表單則清除該乘法表。(作業(yè))(1)新建表單FORM1(2)往FORM1中添加兩個命令按鈕控件,并修改其CAPTION屬性。(3)表單的LOAD事件編碼:public a(10) &定義全局變量數組A(10)圖7.8例7.3表單(4)“產生隨機數”按鈕的CLICK事件編碼:temp=thisform.currentx=2thisform.c

14、urrenty=10thisform.print(10個隨機數是:)for i=1 to 10 a(i)=int(rand()*100) &產生10個100以內的隨機整數,放在數組A(10)中 temp=temp+str(a(i),3)+, endforthisform.currentx=4thisform.currenty=30thisform.print(temp)(5)“排序”按鈕的CLICK事件編碼: temp=thisform.currentx=2thisform.currenty=50thisform.print(排序如下:)for i=1 to 9 &利用雙重循環(huán)

15、,實現數組元素排序for j=i+1 to 10if a(i)a(j) p=a(i) a(i)=a(j) a(j)=pendifendforendforfor i=1 to 10temp=temp+str(a(i),3)+,endforthisform.currentx=4thisform.currenty=70thisform.print(temp)(6)表單的CLICK事件編碼:thisform.cls &清空表單上顯示的數據(7)表單的UNLOAD事件編碼:release a 7.3.3 VFP的事件序列 (了解) 1.事件序列事件序列 VFP是事件驅動的工作方式,VFP的事件或

16、者由用戶動作觸發(fā)或者由系統(tǒng)觸發(fā),用戶的一個動作可能觸發(fā)一個或多個事件。這些事件的發(fā)生有一定的次序。 例:表單界面如圖7.7,有一個命令鈕Command1與一個文本框Text1,在表單數據環(huán)境中有表STAFF.DBF,用戶的動作如下 動作1:運行表單Form1; Form1.Load() Form1.dataenvironment.cursor1.Init() Form1.dataenvironment.Init() Form1.text1.Init() Fmand1.Init() Form1.Init()Form1.Activate()Form1.text1.When()Form1.GotFo

17、cus()Form1.text1.GotFocus()Form1.Activate()動作2:在Text1中輸入字符AB;Form1.text1.KeyPress(65, 0) &即AForm1.text1.InteractiveChange()Form1.text1.KeyPress(66, 0) &即BForm1.text1.InteractiveChange()動作3:用戶單擊Command1關閉表單;Form1.text1.Valid()Fmand1.When()Form1.text1.LostFocus()Fmand1.GotFocus()Fmand1.Click()

18、Fmand1.Valid()Fmand1.When() 表單關閉和釋放對象之后,將發(fā)生的事件,其次序正好與動作1中的事件次序相反。 Form1.Destroy()Fmand1.Destroy()Form1.text1.Destroy()Form1.Unload()Form1.dataenvironment.AfterCloseTables()Form1.dataenvironment.Destroy()Form1.dataenvironment.cursor1.Destroy() 2.為事件指定代碼的位置 從上例可知,事件發(fā)生時,若沒有與之相關聯的代碼,不會發(fā)生任何操作。 3.焦點(Focus) 在上例中有許多的事件發(fā)生都與焦點有關 4.TAB鍵次序 在表單運行時,用戶可以使用TAB鍵來移動表單內光標的位置。所謂TAB鍵次序,就是按TAB鍵時光標經過表單中控件的順序。 7.4 用戶自定義屬性和方法程序(了解) 1.用戶定義屬性 針對表單和表單集對象 , VFP允許用戶向它們添加自定義的屬性,用戶自定義屬性類

溫馨提示

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

評論

0/150

提交評論