第六章 對象模型與事件模型_第1頁
第六章 對象模型與事件模型_第2頁
第六章 對象模型與事件模型_第3頁
第六章 對象模型與事件模型_第4頁
第六章 對象模型與事件模型_第5頁
已閱讀5頁,還剩50頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

面向對象的程序設計基類處理對象事件

方法

第六章對象模型和事件模型結束放映?YES(是)NO(否)程序設計方法程序設計方法面向過程的程序設計(結構化程序設計)程序由三種基本結構組成,程序按照開發者規定的流程進行。面向對象的程序設計從應用程序開發者的角度來看,不再著重于代碼的全部流程,而主要考慮建立對象和賦予對象怎樣的特征與行為。從用戶的角度來看,運算的順序不是按應用程序開發者在設計時規定好的流程進行,而是根據用戶的需要進行。

面向對象程序設計是一種系統化的程序設計方法,允許抽象化、模塊化的分層結構。面向對象的程序設計是通過對類、子類和對象等的設計來體現的。利用類可以簡化程序設計,提高程序代碼的可重用性。通過類之所以可以簡化應用程序的設計,是因為類具有繼承性、多態性、封裝性、抽象性等特點。面向對象的程序設計概述基類類的基本概念類的特性

繼承性和多態性

封裝性和抽象性VFP的基類容器類與控件類可視類與不可視類基類的最小屬性集基類的最小事件集基類的最小屬性集屬性說明Class該類屬于何種類型BaseClass該類由何種基類派生而來。例如,Form、CommandButton或Custom等ClassLibrary該類從屬于哪種類庫ParentClass對象所基于的類。若該類直接由VFP基類派生而來,則ParentClass屬性值與BassClass屬性值相同基類的最小事件集事件說明Init當對象創建時被激活Destroy當對象從內存中釋放時激活Error當類中的事件或方法程序運行中發生錯誤時激活VisualFoxPro基類的事件集合是固定的,不能進行擴充。每個類都可識別固定的默認事件集合,它的最小事件集見下表。處理對象對象的概念對象的引用設置對象的屬性調用對象的方法程序對象對事件的響應類和對象的關系對象是面向對象程序設計中一個最重要的概念,是面向對象式系統中運行時刻的基本成份,也是面向對象編程的基本單元,是屬性與行為(即數據與運算)以及與其他對象的接口的封裝體。在生活中,我們可以把一部電話機看作一個對象;在VFP中,一個表單、一個命令按鈕都是一個對象。每個對象都具有屬性,以及與之相關的事件和方法,通過對象的屬性、事件和方法來處理對象。對象的概念對象的屬性屬性(Property)定義對象的特征,如命令按鈕的標題、大小、位置等。對象的某些屬性值既能在設計階段也能在運行階段進行設置,某些屬性則不能進行設置的,是只讀的。用戶可以增加新的屬性。對象的事件事件(Event)是由對象識別的一個動作,可以編寫相應的代碼對此動作進行響應。通常事件是由一個用戶動作產生(如用鼠標單擊某命令按鈕時將會觸發一個Click事件),也可以由程序代碼(如列表框的ProgrammticChange事件)或系統產生(如計時器的Timer事件)。在VisualFoxPro中,不同的對象所能識別的事件雖然有所不同,但事件集合是固定的,用戶不能創建新的事件。

方法(Method)是對象能夠執行的一個運算。方法是與對象相關聯的過程(完成某種運算的處理代碼),通常也稱為方法程序,它緊密地和對象連接在一起。例如,列表框的AddItem、RemoveItem和Clear等,方法也可以由用戶自己創建。事件可以具有與之相關聯的方法程序。例如,為某命令按鈕的Click(單擊鼠標)事件編寫的方法程序將在單擊該命令按鈕(Click事件發生)時執行。方法程序也可以獨立于事件而單獨存在,它在系統中被顯式地調用,如Thisform.refresh。對象的方法面向過程程序設計面向對象程序設計函數方法系統函數自定義函數系統方法自定義方法函數與方法類定義了對象特征以及對象外觀和行為的模板,它刻劃了一組具有共同特性的對象。對象是類的一個實例,包括了數據和過程(運算)。在采用面向對象的程序設計方法設計的程序中,程序由一個或多個類組成,在程序運行時視需要創建該類的各個對象(實例)。因此,類是靜態概念,而對象是動態概念。類和對象的關系1.絕對引用絕對引用是指從容器的最高層次引用對象,給出對象的絕對地址。如“KC表編輯”表單中“必修課”一列中的復選框對象的絕對引用,可以表示為:form1.grid1.column4.check1。2.相對引用

相對引用是指在容器層次中相對于某個容器層次的引用。在表6.3.1列出了在相對引用對象時,所涉及到的一些關鍵字。其中THIS、THISFORM、THISFORMSET只能在方法程序或事件處理代碼中使用。系統變量_SCREEN表示屏幕對象,與ActiveForm等組合可以在不知道表單名的情況下處理活動表單: _SCREEN.ActiveForm _SCREEN.ActiveForm.ActiveControl對象的引用ActiveForm當前活動表單ActivePage當前活動表單中的活動頁面ActiveControl當前活動表單中具有焦點的控件Parent該對象的直接容器THIS該對象THISFORM包含該對象的表單THISFORMSET包含該對象的表單集表6.3.1“KC表編輯”表單“復選框”控件設置對象屬性每個對象都有許多屬性。通過對對象屬性的設置,可以定義對象的特征或某一方面的行為。對象的大多數屬性既可以在設計時進行設置也可以在運行時設計,但也有一些屬性是只讀的。設置對象屬性的基本方法是:1.采用可視化的方法設置對象屬性在表單設計器的“屬性”窗口中設置對象的屬性2.在運行時設置對象的屬性引用對象.屬性=值調用對象的方法程序

方法程序是對象能夠執行的一個運算,是和對象相聯系的過程?;赩isualFoxPro基類創建的對象都有多個相關的方法程序,用戶也可以創建新的方法程序。如果對象已經創建,便可以在應用程序的任何地方調用這個對象的方法程序。調用方法程序的語法如下:引用對象.方法程序對于有返回值的方法程序必須以圓括號結尾(類似于函數調用),如果有參數傳遞給方法程序,該參數也必須放在括號中。當對象的某個事件發生時,該事件的處理程序代碼將被執行。如果事件沒有與之相關聯的處理程序,則當事件發生時不會發生任何運算。每個對象的事件集合是固定的,用戶不能創建其他事件,但可以調用與這些事件相關的過程。例如,FormSet1.Form1.Activate使得表單Form1的Activate事件的代碼被執行,但并不激活這個表單。若要激活表單,應調用表單的Show方法。調用Show方法將顯示并激活表單,同時Activate事件代碼也將被執行。對象對事件的響應事件核心事件容器層次與類層次中的事件事件激發的順序常用的事件事件驅動和事件循環核心事件集事件事件被激發后的動作Load表單或表單集被加載到內存中Unload從內存中釋放表單或表單集Init創建對象Destroy從內存中釋放對象Click用戶使用主鼠標按鈕單擊對象Dblclick用戶使用主鼠標按鈕雙擊對象RightClick用戶使用輔鼠標按鈕單擊對象GotFocus對象接收焦點,由用戶動作引起,如按<Tab>鍵或單擊,或在代碼中使用SetFoucs方法LostFocus對象失去焦點,由用戶動作引起,如按<Tab>鍵或單擊,或在代碼中使用SetFoucs方法KeyPress用戶按下或釋放鍵MouseDown當鼠標指針停在一個對象上時,用戶按下鼠標按鈕MouseMove用戶在對象上移動鼠標MouseUp當鼠標指針停在一個對象上時,用戶釋放鼠標按鈕InteractiveChange以交互方式改變對象值ProgrammaticChange以編程方式改變對象值容器層次與類層次中的事件為控件編寫事件的處理代碼時,應注意事件觸發原則:

對于同一事件,只有最內層的對象的事件觸發,而容器的事件不觸發。但上述的原則也有例外。對于選項按鈕組與命令按鈕組來說,組中個別按鈕如果沒有編寫事件處理代碼,則當事件發生時將執行容器相關事件的處理代碼。在VisualFoxPro中,有些事件以及事件激發的順序是固定的(如表單在創建或刪除時發生的事件序列),有些事件是獨立發生的(如Timer事件等),但大多數事件是用戶與VisualFoxPro的交互運算時伴隨著其它一系列事件發生的。

事件激發的順序事件激發的順序事件的觸發順序要注意兩點:一、對于同一對象的不同事件的發生順序二、對于同一事件的多個對象的事件發生順序如處于同一層次,按照TAB鍵順序觸發,不同層次,先觸發最內層對象的事件詳見VFP事件順序表。VFP事件順序表(1)對象事件備注數據環境BrforeOpenTable僅發生在與表單集、表單或報表的數據環境相關聯的表和視圖打開前表單集Load在創建表單集對象前發生表單Load在創建表單對象前發生數據環境臨時表Init在創建數據環境臨時表對象時發生數據環境Init在創建數據環境對象時發生對象Init對于每個對象從最內層的對象到最外層的容器,在創建對象時發生表單集Active當激活表單集對象時發生表單Active當激活表單對象時發生VFP事件順序表(2)對象事件備注對象When對于每個對象從最內層的對象到最外層的容器,從Tab鍵次序中的第一個對象開始,在控件接收焦點之前此事件發生表單GotFocus當通過用戶或執行程序代碼使對象接收到焦點時,此事件發生對象GotFocus對于每個對象從最內層的對象到最外層的容器,當通過用戶或執行程序代碼使對象接收到焦點時,此事件發生對象Message對于每個對象從最內層的對象到最外層的容器,控件得到焦點后此事件發生對象Valid對于每個對象從最內層的對象到最外層的容器,當對象失去焦點前此事件發生對象LostFocus當對象失去焦點時此事件發生VFP事件順序表(3)對象事件備注對象When從“Tab鍵次序”中的第一個對象開始,在下一個獲得焦點的對象接收之前此事件發生對象GotFocus從“Tab鍵次序”中的第一個對象接收到焦點時此事件發生對象Message從“Tab鍵次序”中的第一個對象得到焦點后此事件發生對象Valid從“Tab鍵次序”中的第一個對象開始,當對象失去焦點時此事件發生對象Lostfocus對象失去焦點時此事件發生表單QueryUnload在卸載一個表單之前發生此事件對象Destroy對于每個對象從最內層的對象到最外層的容器,當釋放一個對象的實例時此事件發生VFP事件順序表(4)對象事件備注表單Unload在表單被釋放時發生表單集Unload在表單集被釋放時發生數據環境AfterCloseTables在表單、表單集或報表的數據環境中,釋放指定表或視圖后,將發生此事件數據環境Destroy當釋放一個數據環境對象的實例時發生此事件數據環境臨時表Destroy當釋放一個數據環境臨時表對象的實例時發生此事件常用的事件鼠標事件與鍵盤事件改變控件內容的事件焦點事件表單事件數據環境事件其它事件鼠標事件鼠標事件主要有MouseMove事件、Clik事件、RightClick事件、DblClick事件、MouseDown事件、MouseUp事件、DrapDrop事件、DragOver事件、DropDown事件、Scrolled事件、DownClick事件、UpClick事件等。鍵盤事件在VFP中,與鍵盤運算相關的事件主要是KeyPress事件。當用戶按下并釋放某個鍵時發生此事件。KeyPress事件常用于截取輸入到控件中的鍵擊,該事件應用于復選框、組合框、命令按鈕、編輯框、表單、列表框、選項按鈕、微調框、文本框。其處理程序的語法為:PROCEDUREObject.KeyPressLPARAMETERS[nIndex,]nKeyCode,nShiftAltCtrl改變控件內容的事件(1)InteractiveChange事件

在使用鍵盤或鼠標更改控件的值時發生。該事件應用于復選框、組合框、命令組、編輯框、列表框、選項組、微調、文本框。其處理程序的語法為:PROCEDUREControl.InteractiveChange[LPARAMETERSnIndex]其中參數nIndex對于控件數組中的控件指定唯一標識號。在每次交互地更改對象時,都要發生此事件。例如,當用戶在文本框中鍵入字符時,每一次擊鍵都會觸發。(2)ProgrammaticChange事件在程序代碼中更改一個控件值時發生。該事件的應用范圍及其處理程序的語法同InteractiveChange事件相同。焦點事件(1)(1)GotFocus事件當通過用戶運算或執行程序代碼使對象接收到焦點時,此事件發生。該事件應用于復選框、組合框、命令按鈕、容器對象、控件對象、編輯框、表單、列表框、OLE綁定型控件、OLE容器控件、選項按鈕、微調、文本框。只有當對象的Enabled屬性和Visible屬性均設置為“真”(.T.)時,此對象才能接收焦點。(2)LostFocus事件當某個對象失去焦點時發生??丶捎谟脩舻倪\算而失去焦點,這類運算包括選中另一個控件或在另一個控件上單擊,或在代碼中用SetFocus方法更改焦點。用戶按CTRL+TAB鍵退出表格時,表格失去焦點。(3)When事件在控件接收焦點之前此事件發生。該事件應用于復選框、組合框、命令按鈕、命令組、編輯框、表格、列表框、選項按鈕、選項組、微調、文本框。(4)Valid事件在控件失去焦點之前發生。若Valid事件返回“真”(.T.),表明控件失去了焦點;若返回“假”(.F.),則說明控件沒有失去焦點。焦點事件(2)表單事件(1)

(1)Load事件在創建對象前發生。該事件應用于表單和表單集。表單集的Load事件先發生,其所包含的表單的Load事件后發生。Load事件發生在Activate和GotFocus事件之前。在Load事件發生時還沒有創建任何表單中的控件對象,因此在Load事件的處理程序中不能對控件進行處理。(2)Unload事件在對象被釋放時發生。Unload事件是在釋放表單集或表單之前發生的最后一個事件。Unload事件發生在Destroy事件和所有包含的對象被釋放之后。容器對象的Unload事件發生在其所包含的對象的Unload事件之后。

(3)Activate事件當激活表單、表單集或頁對象,或者顯示工具欄對象時,將發生Activate事件。該事件應用于表單、表單集、頁面、工具欄。此事件的觸發取決于對象的類型:表單事件(2)

當表單集中的一個表單獲得焦點,或調用表單集的Show方法時,激活表單集對象。當用戶單擊一個表單或單擊一個控件,或者調用表單對象的Show方法時,激活表單對象。當用戶單擊一個表單或單擊一個控件,或者調用表單對象的Show方法時,激活表單對象。當用戶單擊頁面的選項卡,單擊頁面上的控件,或者將包含頁對象的頁框的ActivePage屬性設置為此頁對象對應頁碼時,激活頁對象。當調用工具欄的Show方法時,激活工具欄。使用表單集的Show方法時,首先激活表單集,然后是表單,最后是頁面。數據環境事件

(1)AfterCloseTables事件在表單、表單集或報表的數據環境中,釋放指定表或視圖后,將發生此事件。對于表單或表單集,AfterCloseTable事件發生在表單集或表單的Unload事件之后,另外還發生在由數據環境打開的表或視圖關閉之后。在任何時候調用CloseTables方法,都會發生AftercloseTables事件。AfterCloseTable事件發生后,將發生數據環境和其相關對象的Destory事件。(2)BeforeOpenTables事件僅發生在與表單集、表單或報表的數據環境相關聯的表和視圖打開之前。對于表單集或表單,BeforeOpenTables事件發生在表單集或表單的Load事件之前。

其它事件(1)

(1)Init事件在創建對象時發生。該事件應用于復選框、組合框、命令按鈕、命令組、容器對象、控件對象、臨時表、自定義控件、數據環境、編輯框、表單、表單集、表格、圖象、標簽、線條、列表框、OLE綁定型控件、OLE容器控件、選項按鈕、選項組、頁面、頁框、關系、形狀、微調、文本框、計時器、工具欄。對于表單集和其他容器對象來說,容器中對象的Init事件在容器的Init事件之前觸發,因此容器的Init事件可以訪問容器中的對象,例如在表單的Init事件處理程序中可以處理表單上的任意一個控件對象。容器中對象的Init事件的發生順序與它們添加到容器中的順序相同。

(2)Timer事件當經過Interval屬性中指定的毫秒數時,此事件發生。該事件應用于計時器。(3)Destroy事件當釋放一個對象的實例時發生。該事件的應用范圍同Init事件。一個容器對象的Destroy事件在它所包含的任何一個對象的Destroy事件之前觸發;容器的Destroy事件在它所包含的各對象釋放之前可以引用它們。(4)Error事件當某方法在運行出錯時,此事件發生。該事件的應用范圍同Init事件。如果正在處理錯誤時,Error事件過程中又發生了第二個錯誤,VisualFoxPro將調用ONERROR例程。如果ONERROR例程不存在,VisualFoxPro將掛起程序并報告錯誤,如同Error事件和ONERROR例程不存在一樣。其它事件(2)

事件驅動和事件循環(1)

在面向對象的程序設計中,程序代碼大多數是為對象或對象的某個(某些)事件而編寫的事件處理程序代碼,程序代碼的執行總是由某個事件的發生而引起。即采用面向對象的程序設計方法設計的應用程序,其功能的實現是由事件驅動的。采用事件驅動程序設計方法所設計的應用程序,程序的執行是由事件驅動的,一旦程序啟動后就根據發生的事件執行相應的程序,如果無事件發生則程序就空閑著以等待事件的發生,此時用戶也可以啟動其它多個應用程序。利用VisualFoxPro進行應用程序設計時,必須創建事件循環(eventloop)。事件循環是由READEVENTS命令建立。事件驅動和事件循環(2)CLEAREVENTS命令用于終止事件循環。如果CLEAREVENTS命令是位于某程序代碼中且該命令后還有其它命令,則執行CLEAREVENTS命令后程序繼續執行緊跟在READEVENTS后面的那條語句。在設計應用程序時,設置環境并且顯示初始用戶界面之后就可以著手建立事件循環,以等待用戶運算并進行響應。READEVENTS命令通常是出現在應用程序的主程序中,或主菜單的清理代碼中,或主表單的某事件處理程序中。在啟動事件循環之前需要建立一種退出事件循環的方法,而且必須確保界面有這種發出CLEAREVENTS命令的機制(例如表單的“退出”按鈕或菜單命令)。如果沒有這樣做,則會陷于死循環,這時就需要按ESC鍵強制中斷程序的執行,或者重新啟動計算機。方法(1)方法(程序)是對象能夠執行的一個運算。在VFP中,系統提供了一些方法,其程序是一些默認過程。用戶可以調用這些方法程序,也可以為這些方法設計新的程序(即修改方法程序的默認過程)。此外,用戶還可以創建新的方法。常用的系統方法有:★ActivateCell方法ActivateCell方法是激活表格控件中的一個單元。語法為:Grid.ActivateCell(nRow,nCol)其中nRow,nCol指定活動單元所在的行和列?!顰ddColumn方法AddColumn方法是向表格控件中添加列對象。語法為:Grid.AddColumn(nIndex)其中nIndex指定一個表示位置的數,新列將添加到表格中的此位置上,原有的列向右移動,但是ColumnCount屬性的值不增加。

方法(2)★AddItem方法AddItem方法是在組合框或列表框中添加一個新數據項,并且可以指定數據項索引。其語法為:Control.AddItem(cItem[,nIndex][,nColumn])其中cItem指定添加到控件中的字符串表達式。nIndex指定控件中放置數據項的位置。Column指定控件的列,新數據項加入到此列中?!顰ddObject方法AddObject方法是在運行時向容器對象中添加對象。其語法為:Object.AddObject(cName,cClass[,cOLEClass][,aInit1,aInit2...])其中cName指定引用新對象的名稱。cClass指定添加對象所在的類。cOLEClass指定添加對象的OLE類。aInit1,aInit2...指定傳給新對象的Init事件的參數。調用AddObject方法時,將觸發新添加對象的Init事件。當用AddObject方法往容器中加入對象時,對象的Visible屬性設置為“假”(.F.),因此要將其改為“真”(.T.)方可見。★Clear方法Clear方法是清除組合框或列表框控件的內容。語法為:bject.Clear注意:僅當RowSourceType為0(無)時,Clear方法才有效。★DeleteColumn方法DeleteColumn方法是從表格控件中刪除一列。其語法為:Grid.DeleteColumn[(nIndex)]其中nIndex指定在表格中的列的編號。如果不指定nIndex,則刪除表格中當前活動列。方法(3)★Draw方法Draw方法是重畫表單對象。其調用語法為: Object.Draw★Hide方法Hide方法是通過把Visible屬性設置為“假”(.F.),隱藏表單、表單集或工具欄。其調用語法為:Object.Hide表單被隱藏后,用戶不可可視化地訪問其控件,但可以在代碼中訪問它們,并且表單中的控件仍然保留自己的Visible屬性設置值。同樣表單集被隱藏后,用戶不可訪問其中的表單,但是這些表單仍然可用,并且可以在代碼中訪問它們。表單集的Hide方法并不設置子表單的Visible屬性,因此,當一個表單包含在一個表單集中時,若要判斷該表單是否可見,必須同時檢查表單和表單集的Visible屬性設置。方法(4)★DoCmd方法DoCmd方法是執行一條指定的VFP命令。其調用語法為:ApplicationObject.DoCmd(cCommand)參數cCommand指定被執行的VisualFoxPro命令?!颮efresh方法Refresh方法是重畫表單或控件,并刷新所有值。其語法為:[[FormSet.]Object.]Refresh使用Refresh方法可以重畫表單或控件,并更新控件的值。刷新表單的同時,也刷新表單上所有的控件;刷新頁框時,只刷新活動的頁。要更新組合框或列表框的內容,需使用Requery方法?!颮elease方法Release方法是從內存中釋放表單集或表單。其調用語法為:Object.Release可以使用Screen對象的Forms集合找到表單集或表單,并調用其Release方法。方法(5)★RemoveItem方法RemoveItem方法是從組合框或列表框中移去一項。語法為:Control.RemoveItem(nIndex)參數nIndex指定一個整數,它對應于被移去項在控件中的顯示順序。對于列表框或組合框中的第一項,nIndex=1。★RemoveObject方法RemoveObject方法是運行時從容器對象中刪除一個指定的對象。對象刪除后,它便從屏幕上消失,并且不能再引用。其調用語法為:Object.RemoveObject(cObjectName)參數cObjectName指定要刪除的對象名,如果指定對象不存在,則會出錯。方法(6)★Requery方法Requery方法是重新查詢列表框或組合框控件中所基于行源(RowSource)。其調用語法為:Control.RequeryControl.Requery使用Requery方法可以確保控件中包含最新的數據。Requery方法重新查詢RowSource屬性,并且使用新的值更新列表?!颯etALL方法SetAll方法是為容器對象中的所有控件或某類控件指定一個屬性設置。其調用語法為:Container.SetAll(cProperty,Value[,cClass])其中cProperty是要設置的屬性。Value屬性的新值,Value的數據類型取決于要設置的屬性。cClass指定類名。方法(7)★SetFocus方法SetFocus方法是為一個控件指定焦點。其調用語法為:Control.SetFocus如果控件的Enabled或Visible屬性設置為“假”(.F.),或者控件的When事件返回“假”(.F.),則不能給一個控件設置焦點;即如果控件的Enabled或Visible屬性已設置為“假”(.F.),則控件在使用SetFocus方法接受焦點之前,必須首先把它們設置為“真”(.T.)。★Show方法Show方法是顯示一個表單,并且確定是模式表單還是無模式表單。其調用語法為:[FormSet.]Object.Show([nStyle])參數nStyle確定如何顯示表單。為1時表單為模式表單,只有隱藏或釋放模式表單之后,用戶的輸入才能被其他表單或菜單接收;為2(默認值)時,表單為無模式表單,方法(8)遇到Show方法之后出現的代碼時就執行代碼。如果nStyle省略,表單按WindowType屬性指定的樣式顯示。Show方法把表單或表單集的Visible屬性設置為“真”(.T.),并使表單成為活動的對象。如果表單的Visible屬性已經設置為“真”(.T.),則Show方法使它成為活動對象。如果激活的是表單集,則表單集中最近一個活動表單成為活動表單;如果沒有活動表單,則第一個添加到表單集類定義中的表單成為活動表單。表單集中包含的表單保留Visible屬性設置。如果表單的Visible屬性設置為“假”(.F.),表單集的Show方法不顯示這個表單。所有表單集中的表單采取表單集的形式。例如,如果表單集為模式表單集,則所有的表單都為模式表單。方法(9)類的基本概念類的概念是由類型和模塊相結合而產生的。一般地說,具有共同特征、狀態和行為的對象的集合稱為類。類和對象是緊密相連的,類是對象的模板,而單個對象是對應類的一個實例。如電話機是一個類,而某一部電話機是電話機類的一個實例。命令按鈕是一個類,而某一個表單上的“確定”按鈕是命令按鈕的一個實例?;?baseclass)是VisualFoxPro系統提供的內部定義的類,可用作其他用戶自定義類的基礎。如,表單和所有控件就是基類,可在此基礎上創建新類,增添自己需要的功能。子類(subclass)是以其他類定義為起點,為某一種對象所建立的新類。子類將繼承任何對父類(即子類所基于的類)所做的修改。用戶自定義類(user-definedclass)與VisualFox

溫馨提示

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

評論

0/150

提交評論