版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第九章面向?qū)ο蟮爻绦蛟O(shè)計(jì)面向?qū)ο蟮爻绦蛟O(shè)計(jì)(ObjectOrientedProgramming,簡稱OOP)與編程技術(shù)不同于標(biāo)準(zhǔn)地結(jié)構(gòu)化程序設(shè)計(jì)。在進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)時(shí),首先要考慮為實(shí)現(xiàn)某種目的而創(chuàng)建地具有某種功能且操作使用便捷地控件,對象與控件地使用參數(shù)及外觀,以及為實(shí)現(xiàn)具體功能應(yīng)選用地事件及數(shù)據(jù)環(huán)境并設(shè)計(jì)好相應(yīng)地方法程序模塊。9.1VFP中地對象9.1.1面向?qū)ο蟮鼗靖拍顚ο笫怯蓴?shù)據(jù)及可以施加在這些數(shù)據(jù)上地可執(zhí)行操作所構(gòu)成地統(tǒng)一體,是代碼與數(shù)據(jù)地組合,它可以作為一個(gè)完整地,獨(dú)立地單位模塊來處理。面向?qū)ο蟪绦蛟O(shè)計(jì)方法是一種以數(shù)據(jù)與信息為主線,將數(shù)據(jù)與處理相結(jié)合地方法。那么什么是對象呢?對象就是客觀世界中事物地抽象,是反映客觀事物屬性及行為特征地可運(yùn)作實(shí)體。在OOP中,將對象作為一個(gè)變量來處理,對象包括數(shù)據(jù)與用來處理這些數(shù)據(jù)地方法與工具。對象是構(gòu)成程序地基本單位與運(yùn)行實(shí)體,是應(yīng)用程序地組裝模塊。一般來說,對象=屬性+控件+事件+數(shù)據(jù)環(huán)境+方法程序,是一種模塊地組合體??丶秋@示數(shù)據(jù)與執(zhí)行操作地基本工具對象;屬性是對象所具有地物理性質(zhì)及其特性標(biāo)識符;事件是對象所能識別與響應(yīng)地某些行為與操作;數(shù)據(jù)環(huán)境是對象運(yùn)行生存所依據(jù)地?cái)?shù)據(jù)信息范圍;方法程序是對象在事件觸發(fā)時(shí)地行為與動(dòng)作。9.1.2對象地屬性,事件與方法對象(Object)在現(xiàn)實(shí)生活中是很常見地(如:一個(gè)人是一個(gè)對象,一臺Pc即是一個(gè)對象。從可視化編程地角度來看,對象是一個(gè)具有屬性(數(shù)據(jù))與方法(行為方式)地實(shí)體。一個(gè)對象建立之后,其操作就通過與該對象有關(guān)地屬性,事件與方法來描述。對象地屬性屬性(Property)是指對象地一項(xiàng)描述內(nèi)容,用于描述對象地一個(gè)特性。不同地對象具有不同地屬性,而每個(gè)對象又都由若干屬性來描述。屬性是對象地特征,是對象某一方面地行為參數(shù),它描述了一個(gè)對象,描述了對象地狀態(tài)或某一方面地行為功能,說明了對象可以完成地工作,但是還沒有說明如何去完成任務(wù)。狀態(tài)是對象在其生命周期中地某個(gè)特定階段所處地某種境域,所表現(xiàn)地形態(tài);行為是指對象在某種狀態(tài)下所做地一系列處理,操作與反應(yīng)。對象地每個(gè)屬性都具有一定地意義,用戶可以對其進(jìn)行設(shè)置,賦值,以及定義對象地特征與行為。所有這些對象地狀態(tài)與特點(diǎn)統(tǒng)稱為屬性,用戶可以通過控制這些屬性來"操作"對象,改變對象地屬性就可以改變對象地特定內(nèi)容。屬性值地設(shè)置或修改可以通過屬性窗口來進(jìn)行,也可以通過編程地方式在程序運(yùn)行階段來改變對象地屬性。但是有地屬性可在設(shè)計(jì)時(shí)通過屬性窗口來設(shè)置而無需編寫程序代碼;而有地屬性在設(shè)計(jì)階段是不可用地,這些屬性需要通過代碼在運(yùn)行階段才能設(shè)置與修改;有地屬性只能在代碼中設(shè)置或修改,而不能在設(shè)計(jì)階段通過屬性窗口來設(shè)置。在程序代碼中設(shè)置屬性地格式:表單名.對象名.屬性名=屬性值對象地事件事件(Event)是有VFP系統(tǒng)預(yù)先定義好地,能夠被對象識別地動(dòng)作,不同地對象能識別地事件也不完全一樣。事件作用于對象,對象識別事件并能作出反應(yīng)。事件可以由系統(tǒng)引發(fā)(如:生成對象時(shí),系統(tǒng)就引發(fā)一個(gè)Init事件,對象識別該事件,并執(zhí)行相應(yīng)地Init事件代碼);事件也可以由用戶引發(fā)(如:用戶用鼠標(biāo)單擊程序界面上地一個(gè)命令按鈕就引發(fā)了一個(gè)Click事件,命令按鈕識別該事件并執(zhí)行相應(yīng)地Click事件)。對象地事件是固定地,用戶不能建立新地事件。事件過程(EventProcedure)是為處理特定事件而編寫地一段程序代碼,當(dāng)事件由用戶觸發(fā)(如Click)或由系統(tǒng)觸發(fā)(如Load)時(shí),對象就會(huì)對該事件作出響應(yīng)(Respond)。響應(yīng)某個(gè)事件后所執(zhí)行地程序代碼就是事件過程。一個(gè)對象能識別一個(gè)或多個(gè)事件,因此可以使用一個(gè)或多個(gè)事件過程對用戶或系統(tǒng)地事件作出響應(yīng)。雖然一個(gè)對象可以擁有多個(gè)事件過程,但是在程序代碼中要使用多少事件過程,則完全由設(shè)計(jì)人員根據(jù)程序地具體要求而定。對象地方法方法(Method)是與對象有關(guān)聯(lián)地過程,但又不同于一般地VFP過程。方法程序緊密地與對象連接在一起,并且與一般VFP過程地調(diào)用方式有所不同。與事件過程類似,VFP地方法也屬于對象地內(nèi)部函數(shù),只是方法用于完成某種特定地功能而不一定響應(yīng)某一事件。方法也被"封裝"在對象之中,不同地對象具有不同地內(nèi)部方法。VFP系統(tǒng)提供了百余個(gè)內(nèi)部方法供不同地對象調(diào)用。與事件過程不同地是,根據(jù)需要可以由用戶自行建立新地方法。事件過程由事件地激發(fā)而調(diào)用其代碼,也可以在運(yùn)行階段由程序調(diào)用其代碼,而方法地代碼只能在運(yùn)行階段由程序調(diào)用。表9-3給出了VFP中常用地方法程序。在程序中調(diào)用對象方法地格式:Parent.Object.Method其中:Parent表示父對象,Object表示對象,Method表示方法程序。9.2創(chuàng)建對象與類VFP可視化編程地最大特點(diǎn)就是在可視化環(huán)境下以最快地速度與效率開發(fā)具有良好用戶界面地應(yīng)用程序,其實(shí)質(zhì)就是利用VFP所提供地圖形構(gòu)件快速開發(fā)應(yīng)用程序地輸入輸出屏幕界面。9.2.1類地概念對象與類是面向?qū)ο蠓椒ㄖ械貎蓚€(gè)最基本地概念。類與對象關(guān)系密切,但并不相同。類是一類相似對象地性質(zhì)地描述,這些對象具有相同地性質(zhì),相同種類地屬性以及方法。類就好象是一類對象地摸板,有了類之后,基于類就可以生成這類對象中任何一個(gè)對象。這些對象雖然采用相同地屬性來表示狀態(tài),但是它們在屬性上地取值完全可以不同。這些對象一般有著不同地狀態(tài),且彼此間相對獨(dú)立(如:為學(xué)生創(chuàng)建一個(gè)類。在類地定義中,也可以為某個(gè)屬性指定一個(gè)值,這個(gè)值將作為基于該類生成地每個(gè)對象在該屬性上地默認(rèn)值。通常將基于某個(gè)類生成地對象稱為這個(gè)類地實(shí)例,因此任何一個(gè)對象都是某個(gè)類地一個(gè)實(shí)例。不過需要注意地是,方法盡管定義在類中,但執(zhí)行方法地主體是對象,同一個(gè)方法,如果由不同地對象去執(zhí)行,一般會(huì)產(chǎn)生不同地結(jié)果?;怴FP基類是系統(tǒng)本身內(nèi)含地,并不存放在某個(gè)類庫中,用戶可以基于基類生成所需地對象,也可擴(kuò)展基類創(chuàng)建自己地類。表9-4是VFP派生子類或創(chuàng)建對象地基類,這些控件只能用VFP基類以編程地方式創(chuàng)建。容器類容器類對象可以包含其它對象,并且允許訪問這些對象(如:表單集,表單,表格等)??丶悓ο笾荒馨谌萜鲗ο笾?而不能包含其它對象(如:命令按鈕,復(fù)選框等)。當(dāng)一個(gè)容器包含一個(gè)對象時(shí),稱該對象為容器地子對象,而容器稱為該對象地父對象??丶惪丶惖胤庋b比容器更為嚴(yán)密,但是也因此損失了一些靈活性,非容器類對象在設(shè)計(jì)階段與運(yùn)行階段都可以被當(dāng)作一個(gè)整體來處理,而控件對象地組件不能單獨(dú)被修改與操作??丶–ontrol)是某種圖形構(gòu)件地統(tǒng)稱(如:標(biāo)簽控件,文本框控件,列表框控件等),利用控件所創(chuàng)建地對象則是某一個(gè)賦有名稱地控件。常用控件由VFP地基類提供,共有21個(gè),每個(gè)控件用"FormControls(表單控件)"工具欄中地一個(gè)圖形按鈕表示。如表9-6所示。9.2.1類地創(chuàng)建在進(jìn)行面向?qū)ο蟮爻绦蛟O(shè)計(jì)時(shí),經(jīng)常需要?jiǎng)?chuàng)建類與對象,然后再在這些對象地基礎(chǔ)上設(shè)計(jì)應(yīng)用程序。創(chuàng)建與定義類創(chuàng)建類有兩種常用地方式。例9.1建立一個(gè)新類"命令按鈕組"。方式1:使用菜單方式創(chuàng)建:選定"文件"菜單地"新建"選項(xiàng),然后在彈出地"新建"對話框中選定"類"單選項(xiàng),再選定"新建文件"按鈕,屏幕上將顯示"新建類"對話框,如圖9-1所示。在"新建類"對話框中需要指定新建類所需要地類庫,基類與類名,詳細(xì)說明如下:"存儲于"文本框:用于指定新類庫名或已有類庫地名字。類庫名可包含路徑,若未指明路徑表示使用默認(rèn)路徑(本例中輸入新類庫名為"自定義類")。圖9-1"新建類"對話框"派生于"下拉文本框:用于指定派生基類地子類。點(diǎn)擊"派生于"文本框右側(cè)按鈕,在出現(xiàn)地基類名稱中選擇mandGroup,點(diǎn)擊"確定"按鈕,進(jìn)入"類設(shè)計(jì)器"窗口,如圖9-2所示。圖9-2"類設(shè)計(jì)器"窗口類名文本框:用于指定類名,該類是基類地子類(本例在類名文本框中輸入"命令按鈕組")。在"類設(shè)計(jì)器"窗口中,可以使用系統(tǒng)菜單中地"類"菜單項(xiàng),在屬性窗口中可以查看與編輯類地屬性,在代碼編輯窗口中可以編寫各種事件與方法程序地代碼。方式2:使用命令方式進(jìn)行創(chuàng)建,命令格式如下:格式:CreateClass<類名>或CreateClass<類名>Of<類庫名>使用CreateClass命令可以打開"新建類"對話框,后續(xù)操作與方式1相同。創(chuàng)建對象對象變量地創(chuàng)建可以使用CreateObject()函數(shù)進(jìn)行,其功能是從一個(gè)類定義或一個(gè)OLE對象中創(chuàng)建一個(gè)對象,運(yùn)行地函數(shù)返回對象地類型。格式:CreateObject(<類名>)[,<參數(shù)表達(dá)式>[,<參數(shù)表達(dá)式>…]]其中:<類名>可以是用戶自定義地類,也可以是系統(tǒng)提供地類。在容器對象中添加對象可以使用AddObject()方法,其命令格式如下:格式:<對象名>.AddObject(<對象名>,<類名>[,<參數(shù)1>[,<參數(shù)2>…]])設(shè)置屬性①屬性地設(shè)置當(dāng)類創(chuàng)建之后,新類已繼承了基類或父類地全部屬性。同時(shí)系統(tǒng)也允許修改基類,父類地原有屬性或設(shè)置類地新屬性?,F(xiàn)舉例說明其操作方法。例9.2修改已有新類"命令按鈕組"地屬性,將原Caption屬性地默認(rèn)值mand1,mand2分別改為"運(yùn)行"與"結(jié)束"。操作步驟如下:在如圖9-2所示地狀態(tài)下,打開系統(tǒng)菜單地"顯示"菜單,選擇"屬性"選項(xiàng),彈出"屬性"窗口,如圖9-3所示。圖9-3按鈕mand1地屬性設(shè)置窗口?用鼠標(biāo)單擊命令按鈕組中地mand1按鈕。?在"屬性"對話框中用鼠標(biāo)單擊Caption,然后輸入"運(yùn)行"。?mand2地修改與mand1相同。?關(guān)閉"屬性"對話框,修改操作結(jié)束。②對象地屬性設(shè)置對象地屬性設(shè)置分為直接設(shè)置與結(jié)構(gòu)化設(shè)置。直接設(shè)置使用"對象名.屬性名=值"地格式;結(jié)構(gòu)化設(shè)置使用With﹍EndWith命令,該命令地格式如下:格式:With<對象名>|With<路徑>[<語句序列>]<屬性>EndWith設(shè)置對象屬性還經(jīng)常使用如下格式:Parent.Object.Property=Value說明:父對象.對象.屬性=屬性值9.2.2對象地應(yīng)用對象地應(yīng)用是指如何在程序設(shè)計(jì)與程序運(yùn)行時(shí)對這些對象進(jìn)行控制與操作。若需引用一個(gè)對象,就應(yīng)該知道它相對于容器層次地關(guān)系(如:要在表單集中處理一個(gè)表單地控件,就應(yīng)引用表單集,表單與控件)。對象地引用包括兩種引用方式:絕對引用與相對引用。絕對引用通過提供對象地完整容器層次來引用對象就稱為絕對引用。圖9-5表示了一種可能地容器嵌套方式。若要使表列中地控件無效,則需:FormSet.Form.PageFrame.Page.Grid.Column.Control.Enabled=.F.圖9-5嵌套容器相對引用在容器層次中引用對象時(shí),可以通過快捷方式指明所要處理地對象,即相對引用。下表列出了對象地一些屬性與關(guān)鍵字,這些屬性與關(guān)鍵字允許更方便地從對象層次中引用對象。屬性或關(guān)鍵字引用Parent該對象地直接容器(父對象)This該對象Thisform包含該對象地表單Thisformset包含該對象地表單集9.3表單設(shè)計(jì)表單是VFP提供地最常見地?cái)?shù)據(jù)交互式操作界面工具,各種對話框與窗口是表單地不同表現(xiàn)形式。表單是VFP常用地并具有自己地控件,屬性,事件,方法程序地容器對象,各種對話框與窗口都是表單不同地外觀表達(dá)形式,為盡可能方便,直觀地完成數(shù)據(jù)信息管理工作提供了條件。VFP為用戶提供了設(shè)計(jì)交互式操作界面地工具——表單設(shè)計(jì)器,它是可視化地面向?qū)ο蟪绦蛟O(shè)計(jì)地工具。在VFP地每一個(gè)表單或表單集中都有一個(gè)數(shù)據(jù)環(huán)境,在表單地設(shè)計(jì),運(yùn)行中需要使用數(shù)據(jù)環(huán)境(與表單相配合地表或字段)。通過將與表單有關(guān)地表或視圖放進(jìn)表單地?cái)?shù)據(jù)環(huán)境中,可以很容易地將表單,新控件與表或視圖中地字段關(guān)聯(lián)在一起,形成一個(gè)完整地構(gòu)造體系。數(shù)據(jù)環(huán)境地設(shè)置在每一個(gè)表單設(shè)計(jì)中幾乎都是必不可少地。進(jìn)行VFP表單設(shè)計(jì)時(shí)經(jīng)常使用地設(shè)計(jì)工具主要有:表單設(shè)計(jì)器,表單向?qū)?屬性窗口,生成器,數(shù)據(jù)環(huán)境設(shè)計(jì)器,對話框,控件工具欄,布局工具欄,調(diào)色板工具欄,代碼設(shè)計(jì)窗口,瀏覽器等。表單設(shè)計(jì)器如下圖所示。在VFP中,可以使用以下任意一種方法生成表單:?使用表單向?qū)А?通過選擇"表單"菜單上地"快速表單"選項(xiàng),可以創(chuàng)建一個(gè)通過添加用戶自己地控件來定制地簡單表單。?使用"表單設(shè)計(jì)器"創(chuàng)建或修改已有地表單。?使用命令:CreateForm。9.3.1設(shè)計(jì)表單創(chuàng)建表單一般有兩種途徑:?使用表單向?qū)?chuàng)建即用表單。?使用表單設(shè)計(jì)器創(chuàng)建,設(shè)計(jì)新地表單或修改已有地表單。使用表單向?qū)?chuàng)建表單VFP提供了兩種表單向?qū)韼椭脩魟?chuàng)建表單:?"表單向?qū)?適合于創(chuàng)建基于一個(gè)表地表單。?"一對多表單向?qū)?適合于基于兩個(gè)具有一對多關(guān)系地表地表單。利用表單向?qū)?chuàng)建表單地方法與步驟如下:?在"項(xiàng)目管理器"窗口中,選擇"文檔"選項(xiàng)卡",選擇其中地"表單"圖標(biāo)。或在系統(tǒng)菜單中選擇"文件"下地"新建",然后選擇"表單"。?單擊"新建"按鈕,系統(tǒng)彈出"新建表單"對話框(如圖9-7所示)。?單擊"表單向?qū)?圖標(biāo)按鈕,打開"向?qū)нx取"對話框(如圖9-8所示)。?從列表框中選擇要使用地向?qū)?然后單擊"確定"按鈕。圖9-7"新建表單"對話框 圖9-8"向?qū)нx取"對話框無論調(diào)用哪種表單向?qū)?系統(tǒng)都會(huì)打開響應(yīng)地對話框,逐步地向用戶詢問一些簡單地問題,并根據(jù)用戶地回答自動(dòng)創(chuàng)建表單。創(chuàng)建地表單將包含一些控件用以顯示表中地記錄與字段中地?cái)?shù)據(jù),表單還會(huì)包含一組按鈕。用戶通過這組按鈕,可以實(shí)現(xiàn)對表中地?cái)?shù)據(jù)進(jìn)行瀏覽,查找,添加,編輯,刪除以及打印等操作。還可以用以下方法調(diào)用表單向?qū)?在"文件"菜單中選擇"新建"命令,然后在打開地"新建"對話框中"選擇表單"文件類型并按"向?qū)?按鈕,或者在"工具"菜單地"向?qū)?子菜單中選擇"表單"命令。使用表單設(shè)計(jì)器創(chuàng)建表單可以使用下面3種方法中地任何一種調(diào)用表單設(shè)計(jì)器:方法1:在項(xiàng)目管理器環(huán)境下調(diào)用?在"項(xiàng)目管理器"窗口中選擇"文檔"選項(xiàng)卡,然后選擇其中地"表單"圖標(biāo)。?單擊"新建"按鈕,系統(tǒng)彈出"新建表單"對話框。?單擊"新建表單"圖標(biāo)按鈕。方法2:菜單方式調(diào)用?單擊"文件"菜單中地"新建"命令,打開"新建"對話框。?選擇"表單"文件類型,然后單擊"新建文件"按鈕。方法3:命令方式調(diào)用?在命令窗口中輸入命令:CreateForm以上任何一種方法都可以打開"表單設(shè)計(jì)器",開始設(shè)計(jì)表單。添加控件單擊"表單設(shè)計(jì)器"工具欄上地"表單控件工具欄"按鈕,屏幕上出現(xiàn)"表單控件"工具欄,可以將它拖到適當(dāng)?shù)匚恢?。修改屬性在設(shè)計(jì)時(shí)修改或設(shè)置屬性,一般是在"屬性窗口"中進(jìn)行地。編寫代碼編寫代碼就是為對象編寫事件過程或方法。編寫代碼是在"代碼(Code)"窗口中進(jìn)行地。運(yùn)行表單運(yùn)行表單地方法有多種:?在命令窗口中鍵入:DoForm<表單名>?在程序代碼中加入命令:DoForm<表達(dá)名>?在未退出"表單設(shè)計(jì)器"時(shí),單擊"常用工具欄"中地"運(yùn)行"按鈕。修改表單修改表單有3種方法:?在"文件"菜單中選擇"打開"或單擊常用工具欄上地"打開"按鈕,在"打開"對話框地"文件類型"下拉列表框中選擇"表單(*.scx)",然后單擊在列出地表單文件中選擇所需地表單名。?在命令窗口中使用命令:ModifyForm<表單名>?在項(xiàng)目管理器中選擇所需要修改地表單名稱,再按"修改"(如下圖所示)。將表單保存為"類"若將上述表單保存為"類",則可以避免許多重復(fù)地工作,每次進(jìn)行新地程序設(shè)計(jì)時(shí),只需將此"類"拿來即可使用。表單上控件地創(chuàng)建在設(shè)計(jì)用戶界面時(shí),經(jīng)常需要在表單上利用VFP提供地可視化控件畫出各種所需要地對象。為了與在表單運(yùn)行時(shí)由程序添加地對象相區(qū)別,將由控件創(chuàng)建地對象仍然稱之為控件,且將由控件創(chuàng)建對象地過程稱之為"畫控件"。表單地常用屬性表單屬性大約有100個(gè)左右,但絕大多數(shù)很少使用。表9-10中列出了常用地一些屬性,這些屬性規(guī)定了表單地外觀與行為,經(jīng)常在設(shè)計(jì)階段進(jìn)行設(shè)計(jì)。表單地常用事件與方法Init事件在對象建立時(shí)引發(fā)。在表單對象地Init事件引發(fā)之前,將先引發(fā)它所包含地控件對象地Init事件,因此在表單對象地Init事件代碼中能夠訪問它所包含地所有控件對象。Destroy事件在對象釋放時(shí)引發(fā)。表單對象地Destroy事件在它所包含地控件對象地Destroy事件引發(fā)之前引發(fā),因此在表單對象地Destroy事件代碼中能夠訪問它所包含地所有控件對象。Error事件當(dāng)對象方法或事件代碼在運(yùn)行過程產(chǎn)生錯(cuò)誤時(shí)引發(fā)。事件引發(fā)時(shí),系統(tǒng)會(huì)將發(fā)生地錯(cuò)誤類型與錯(cuò)誤發(fā)生地位置等參數(shù)傳遞給事件代碼,事件代碼可以據(jù)此對錯(cuò)誤進(jìn)行相應(yīng)地處理。Load事件在表單對象建立之前引發(fā),即運(yùn)行表單時(shí),先引發(fā)表單地Load事件,再引發(fā)表單地Init事件。Unload事件在表單對象釋放時(shí)引發(fā),是表單對象釋放時(shí)最后一個(gè)要引發(fā)地事件(如在關(guān)閉包含一個(gè)命令按鈕地表單時(shí),先引發(fā)表單地Destroy事件,然后引發(fā)命令按鈕地Destroy事件,最后引發(fā)表單地Unload事件)。GotFocus事件當(dāng)對象獲得焦點(diǎn)時(shí)引發(fā)。對象可能會(huì)由于用戶地動(dòng)作(如鼠標(biāo)單擊)或代碼中調(diào)用SetFocus方法而獲得焦點(diǎn)。Click事件用鼠標(biāo)單擊對象時(shí)引發(fā)。引發(fā)該事件地常見情況有:①鼠標(biāo)單擊復(fù)選框,命令按鈕,組合框,列表框與選項(xiàng)按鈕。②在命令按鈕,選項(xiàng)按鈕或復(fù)選框獲得焦點(diǎn)時(shí),按空格鍵。③當(dāng)表單中包含一個(gè)確認(rèn)按鈕(Default屬性值為.T.)時(shí),按Enter鍵,引發(fā)確認(rèn)按鈕地Click事件。④按控件地?zé)徭I。⑤單擊表單地空白處,引發(fā)表單地Click事件。但單擊表單地標(biāo)題欄或窗口邊界不會(huì)引發(fā)Click事件。DblClick事件用鼠標(biāo)雙擊對象時(shí)引發(fā)。RightClick事件用鼠標(biāo)右鍵單擊對象時(shí)引發(fā)。InteractiveChange事件當(dāng)通過鼠標(biāo)或鍵盤交互式改變一個(gè)控件地值時(shí)引發(fā)。Release方法將表單從內(nèi)存中釋放(清除)。如表單有一個(gè)命令按鈕,若希望單擊該命令按鈕時(shí)關(guān)閉表單,就可以將該命令按鈕地Click事件代碼設(shè)置為ThisForm.Release。Refresh方法重新繪制表單或控件,并刷新它地所有值。當(dāng)表單被刷新時(shí),表單上地所有控件也都被刷新。當(dāng)頁框被刷新時(shí),只有活動(dòng)頁被刷新。Show方法顯示表單。該方法將表單地Visible屬性設(shè)置為.T.,并使表單成為活動(dòng)對象。Hide方法隱藏表單。該方法將表單地Visible屬性設(shè)置為.T.。SetFocus方法讓控件獲得焦點(diǎn),使其成為活動(dòng)對象。若一個(gè)控件地Enabled屬性值或Visible屬性值.F.,將不能獲得焦點(diǎn)。9.5數(shù)據(jù)環(huán)境可以為表單建立數(shù)據(jù)環(huán)境,數(shù)據(jù)環(huán)境中能夠包含與表單有聯(lián)系地表與視圖以及表之間地關(guān)系。通常情況下,數(shù)據(jù)環(huán)境中地表或視圖會(huì)隨著表單地打開或運(yùn)行而打開,并隨著表單地關(guān)閉或釋放而關(guān)閉??梢杂脭?shù)據(jù)環(huán)境設(shè)計(jì)器來設(shè)置表單地?cái)?shù)據(jù)環(huán)境。數(shù)據(jù)環(huán)境地常用屬性數(shù)據(jù)環(huán)境是一個(gè)對象,有自己地屬性,方法與事件。常用地兩個(gè)數(shù)據(jù)環(huán)境屬性是AutoOpenTables與AutoCloseTables,它們地設(shè)置情況如下表所示。屬性含義默認(rèn)值A(chǔ)utoOpenTa當(dāng)運(yùn)行或打開表單時(shí),是否打開數(shù)據(jù)環(huán)境中地表與視圖.T.blesAutoCloseTa當(dāng)釋放或關(guān)閉表單時(shí),是否關(guān)閉由數(shù)據(jù)環(huán)境指定地表與.T.bles視圖打開數(shù)據(jù)環(huán)境設(shè)計(jì)器在表單設(shè)計(jì)器環(huán)境下,單擊"表單設(shè)計(jì)器"工具欄上地"數(shù)據(jù)環(huán)境"按鈕,或選擇"顯示"菜單中地"數(shù)據(jù)環(huán)境"命令,即可打開"數(shù)據(jù)環(huán)境設(shè)計(jì)器"窗口(如下圖所示),進(jìn)入數(shù)據(jù)環(huán)境設(shè)計(jì)器環(huán)境。向數(shù)據(jù)環(huán)境添加表或視圖在數(shù)據(jù)環(huán)境設(shè)計(jì)器環(huán)境下,按下列方法向數(shù)據(jù)環(huán)境添加表或視
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 耐火制品浸漬工誠信道德模擬考核試卷含答案
- 2025四川資陽市樂至縣招考社區(qū)專職工作者30人備考題庫附答案
- 護(hù)工崗前設(shè)備考核試卷含答案
- 合成氨氣體壓縮工誠信道德水平考核試卷含答案
- 飛機(jī)槳葉型面仿形工風(fēng)險(xiǎn)評估與管理考核試卷含答案
- 意匠紋版工崗前技術(shù)操作考核試卷含答案
- 手風(fēng)琴校音工安全文化模擬考核試卷含答案
- 2024年淮北師范大學(xué)輔導(dǎo)員招聘備考題庫附答案
- 2024年象州縣招教考試備考題庫附答案
- 2024年陽西縣幼兒園教師招教考試備考題庫附答案
- 半導(dǎo)體產(chǎn)業(yè)人才供需洞察報(bào)告 202511-獵聘
- 電梯救援安全培訓(xùn)課件
- 2025年青島市國企社會(huì)招聘筆試及答案
- 2026屆江西省撫州市臨川區(qū)第一中學(xué)高二上數(shù)學(xué)期末考試模擬試題含解析
- 民航華東地區(qū)管理局機(jī)關(guān)服務(wù)中心2025年公開招聘工作人員考試題庫必考題
- 云南省大理州2024-2025學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(含解析)
- 物業(yè)管理法律法規(guī)與實(shí)務(wù)操作
- 高壓避雷器課件
- 體檢中心收費(fèi)與財(cái)務(wù)一體化管理方案
- 四川省內(nèi)江市2024-2025學(xué)年高二上學(xué)期期末檢測化學(xué)試題
- 廣東省深圳市龍崗區(qū)2024-2025學(xué)年二年級上學(xué)期學(xué)科素養(yǎng)期末綜合數(shù)學(xué)試卷(含答案)
評論
0/150
提交評論