




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第7章 面向?qū)ο蟪绦蛟O(shè)計(jì)7.1 對(duì)象7.2 類7/24/2022Visual FoxPro 6.0在支持傳統(tǒng)的面向過(guò)程編程方法的基礎(chǔ)上,全面引入面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。使得用戶通過(guò)面向?qū)ο蟮姆椒ǎ梢栽O(shè)計(jì)出更加美觀的應(yīng)用程序界面,開(kāi)發(fā)出真正的關(guān)系數(shù)據(jù)庫(kù)應(yīng)用程序。面向?qū)ο蟪绦蛟O(shè)計(jì)根本性地改變了早期FoxPro應(yīng)用程序面向過(guò)程的開(kāi)發(fā)方式,將重點(diǎn)放在了對(duì)象之間的聯(lián)系上,而不是具體實(shí)現(xiàn)的細(xì)節(jié)。面向?qū)ο蟪绦蛟O(shè)計(jì)通過(guò)代碼重用和繼承的方式,使用戶在設(shè)計(jì)程序時(shí)不再做大量的重復(fù)勞動(dòng),且將對(duì)象的細(xì)節(jié)隱藏起來(lái),讓用戶將注意力集中在對(duì)象與系統(tǒng)其他部分的聯(lián)系上,這是面向過(guò)程的程序設(shè)計(jì)方法所不能做到的。7/24/2022
2、7.1 對(duì)象7.1.1 對(duì)象的屬性7.1.2 事件7.1.3 方法程序7.1.4 數(shù)據(jù)環(huán)境7.1.5 對(duì)象的引用 7/24/2022客觀世界里的任何實(shí)體都可以被看作是對(duì)象。對(duì)象可以是具體的物,也可以指某些概念。任何對(duì)象都具有自己的特征和行為。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,所有事物都可以被抽象為對(duì)象,例如表單上的命令銨鈕是對(duì)象,表單本身也是一個(gè)對(duì)象。在VFP中,又將對(duì)象分為控件對(duì)象和容器對(duì)象兩種。對(duì)象建立以后,其操作就可以通過(guò)與對(duì)象有關(guān)的屬性、事件和方法來(lái)描述。7/24/20227.1.1 對(duì)象的屬性對(duì)象的屬性即對(duì)象的特征、性質(zhì),例如當(dāng)描述一個(gè)命令按鈕時(shí),可以用它所在位置、尺寸大小、顏色及它上面顯示的文
3、字的字體、字號(hào)等特征來(lái)形容,這些特征都可用屬性來(lái)表示。在VFP中,不同對(duì)象的屬性是不相同的,但有些屬性(如名稱、標(biāo)題等屬性)是很多對(duì)象都具有的。7/24/20221對(duì)象的屬性窗口表單設(shè)計(jì)器打開(kāi)后,只要選擇【顯示】菜單中的【屬性】命令或選擇“表單”快捷菜單中的【屬性】命令,即可打開(kāi)如圖7.1所示的“屬性”窗口。該窗口能顯示當(dāng)前對(duì)象的屬性、事件和方法程序,并允許用戶更改屬性、定義事件代碼和修改方法程序。屬性窗口自上至下依次包括對(duì)象組合框、選項(xiàng)卡、屬性設(shè)置框、屬性列表和屬性說(shuō)明5個(gè)部分,各部分功能如下:7/24/2022(1)對(duì)象組合框:包括當(dāng)前表單、表單集及全部控件的列表,用戶可在列表中選擇表單或
4、控件,這和在表單窗口選擇對(duì)象的效果是一致的。多個(gè)控件之間在這里是分多級(jí)顯示,以體現(xiàn)它們之間的父與子的關(guān)系。 7/24/2022(2)選項(xiàng)卡:共有5個(gè),分別用來(lái)顯示對(duì)象的屬性、事件、方法程序等選項(xiàng),選項(xiàng)按字母順序排列。各選項(xiàng)卡的作用如下: “全部”選項(xiàng)卡:列出全部屬性、事件和方法程序。 “數(shù)據(jù)”選項(xiàng)卡:列出顯示或操縱數(shù)據(jù)的屬性。 “方法程序”選項(xiàng)卡:列出方法程序與事件。方法程序與事件都是對(duì)象的程序,區(qū)別在于,帶Event后綴的選項(xiàng)是事件,否則就是方法程序。 “布局”選項(xiàng)卡:列出位置、大小等屬性。 “其他”選項(xiàng)卡:列出類信息和用戶自定義屬性。 7/24/2022除“全部”選項(xiàng)卡外的4個(gè)選項(xiàng)卡都是分
5、類選項(xiàng)卡,用戶既可在全部選項(xiàng)卡中查找所要的選項(xiàng),也可在分類選項(xiàng)卡中查找選項(xiàng)。 7/24/2022(3)屬性設(shè)置框:可以是文本框或組合框,用于更改或設(shè)置對(duì)象的屬性值。在屬性設(shè)置框左側(cè)有3個(gè)按鈕的功能如下:確認(rèn)按鈕:在屬性設(shè)置文本框中輸入屬性值后,單擊此按鈕可確認(rèn)對(duì)屬性的更改,與按回車鍵等效。取消按鈕:當(dāng)屬性設(shè)置文本框輸入屬性值,但還沒(méi)有確認(rèn)時(shí),單擊此按鈕可取消剛才的輸入值,并恢復(fù)以前的值。函數(shù)按鈕fx:?jiǎn)螕舸税粹o可打開(kāi)表達(dá)式生成器,用來(lái)設(shè)置一個(gè)表達(dá)式,該表達(dá)式的值將作為屬性值。對(duì)于用表達(dá)式設(shè)置的屬性,在屬性值之前將自動(dòng)插入一個(gè)等號(hào)。 7/24/2022(4)屬性列表:屬性列表的每一行包含兩列內(nèi)容
6、,即名字列和值列。用戶選擇某屬性后即可更改屬性值。更改過(guò)的屬性仍可恢復(fù)默認(rèn)值,只要選擇該屬性后右單擊該屬性,在彈出的快捷菜單中選擇【重置為默認(rèn)值】命令即可。需要注意的是,在屬性值列表中,以斜體字顯示的選項(xiàng)表表示只讀,用戶不能修改,用戶修改過(guò)的選項(xiàng)將以黑體顯示。7/24/2022(5)屬性說(shuō)明信息:在屬性列表中選擇某屬性、事件或方法程序后,屬性窗口的底部即簡(jiǎn)要地顯示它的意義。 7/24/20222常用的對(duì)象屬性不同的對(duì)象所具有的屬性也是不相同的,這也可從屬性的定義中體現(xiàn)出來(lái),但是一些對(duì)象會(huì)有一些共性,表7.1列出了一些對(duì)象共有而且常用的屬性。 7/24/2022屬性說(shuō) 明應(yīng)用于Caption設(shè)置
7、對(duì)象的標(biāo)題表單、標(biāo)簽、命令按鈕等Name設(shè)置對(duì)象的名字(在程序中引用)任何對(duì)象Value設(shè)置控件當(dāng)前狀態(tài)(取值)文本框、列表框等ForeColor設(shè)置對(duì)象中的前景色(文本和圖形顏色)表單、標(biāo)簽、文本框、命令按鈕等BackColor設(shè)置對(duì)象內(nèi)部的背景色表單、標(biāo)簽、文本框、列表框等BackStyle設(shè)置對(duì)象背景是否透明標(biāo)簽、文本框、圖像等AutoSize控件是否根據(jù)正文自動(dòng)調(diào)整大小標(biāo)簽框、單選按鈕組、復(fù)選框等Height指定對(duì)象在屏幕上的高度標(biāo)簽框、文本框等Width指定對(duì)象在屏幕上的寬度標(biāo)簽框、文本框等Top指定相對(duì)父對(duì)象最頂端所在的位置標(biāo)簽框、文本框等Left指定相對(duì)父對(duì)象的左邊界標(biāo)簽框、文本
8、框等FontName指定對(duì)象顯示文本的字體標(biāo)簽框、文本框等FontSize指定對(duì)象顯示文本的字號(hào)標(biāo)簽框、文本框等FontBold設(shè)置對(duì)象顯示文本是否粗體標(biāo)簽框、文本框等Alignment控件正文水平對(duì)齊方式標(biāo)簽框、文本框、復(fù)選框等AlwaysOnTop是否處于其他窗口之上表單AutoCenter是否在VFP主窗口內(nèi)自動(dòng)居中表單Closable標(biāo)題欄中關(guān)閉按鈕是否有效表單Controlbox是否取消標(biāo)題欄所有按鈕表單、工具欄MaxButton是否有最大化按鈕表單MinButton是否有最小化按鈕表單Movable運(yùn)行時(shí)表單能否移動(dòng)表單WindowState設(shè)置運(yùn)行時(shí)是最大化或最小化表單Windo
9、wType用于控制表單是非模式表單還是模式表單表單AutoCloseTables表單釋放時(shí)是否關(guān)閉表或視圖,默認(rèn)為.T.表單AutoOpenTables表單加載時(shí)是否關(guān)閉表或視圖,默認(rèn)為.T.表單ShowTips當(dāng)鼠標(biāo)放在控件上時(shí)確定是否顯示工具提示表單、工具欄ShowWindow指定表單是一個(gè)頂層表單還是一個(gè)子表單表單Enabled指定控件是否可用表單、命令按鈕等Visible指定控件是否可見(jiàn)表單、命令按鈕等7/24/20227.1.2 事件事件是指可能會(huì)發(fā)生在對(duì)象上的事情,也即對(duì)對(duì)象所作的操作(或者系統(tǒng)對(duì)某個(gè)對(duì)象的操作)。如按鈕被單擊,對(duì)象被拖動(dòng)、被改變大小、被雙擊等。一個(gè)對(duì)象可以有多個(gè)事
10、件,但是每個(gè)事件都是由系統(tǒng)預(yù)先規(guī)定的。一個(gè)事件對(duì)應(yīng)于一個(gè)程序,即事件過(guò)程。7/24/20221事件觸發(fā)方式事件一旦被觸發(fā),系統(tǒng)馬上要去執(zhí)行與該事件對(duì)應(yīng)的過(guò)程。等事件過(guò)程執(zhí)行結(jié)束后,系統(tǒng)又處于等待某事件發(fā)生的狀態(tài)。即事件包括事件過(guò)程和事件觸發(fā)方式兩個(gè)方面。事件過(guò)程的代碼應(yīng)該事先編寫好。從表7.2列出的VFP系統(tǒng)常見(jiàn)的事件可看出事件的觸發(fā)方式分三種:(1)用戶觸發(fā):如單擊命令按鈕等。(2)系統(tǒng)觸發(fā):如計(jì)時(shí)器事件,將會(huì)自動(dòng)按設(shè)定的時(shí)間間隔發(fā)生。(3)代碼觸發(fā):用代碼來(lái)調(diào)用事件過(guò)程。7/24/2022常用事件 事 件發(fā)生時(shí)機(jī)事 件發(fā)生時(shí)機(jī)Click單擊鼠標(biāo)左鍵時(shí)GotFocus對(duì)象獲得焦點(diǎn)時(shí)DblCl
11、ick雙擊鼠標(biāo)左鍵時(shí)Activate對(duì)象激活時(shí)DragDrop鼠標(biāo)拖放時(shí)Init創(chuàng)建對(duì)象時(shí)RightClick單擊鼠標(biāo)右鍵時(shí)Load表單被裝入內(nèi)存時(shí)MouseUp釋放鼠標(biāo)時(shí)Unload釋放對(duì)象時(shí)MouseDown按下鼠標(biāo)鍵時(shí)InteractiveChange改變控件的值時(shí)KeyPress按下并釋放某鍵盤時(shí)Resize調(diào)整對(duì)象大小時(shí)DownClick單擊控件的上下箭頭時(shí)Timer在設(shè)置的時(shí)間間隔內(nèi)發(fā)生Destroy釋放一個(gè)對(duì)象時(shí)Valid當(dāng)一個(gè)控件失去聚焦時(shí)7/24/20222為事件編寫代碼事件代碼需在代碼編輯窗口中編寫,打開(kāi)某對(duì)象代碼編輯窗口的方法有多種:(1)雙擊該對(duì)象。(2)選擇對(duì)象快捷菜
12、單中的【代碼】命令。(3)選中對(duì)象,選擇【顯示】菜單的【代碼】命令。以上方法均可彈出圖7.2所示的代碼編輯窗口。7/24/20227.1.3 方法程序方法程序又稱方法,是指對(duì)象所固有完成某種任務(wù)的功能,它是VFP為對(duì)象內(nèi)定的通用過(guò)程,用戶可以在需要的時(shí)候調(diào)用,由于方法的代碼由VFP定義,所以對(duì)用戶是不可見(jiàn)的。方法程序與事件有相似之處,都是為了完成某個(gè)任務(wù),但同一個(gè)事件可完成不同任務(wù)取決于用戶所編寫的代碼,而方法則是固定的,任何時(shí)候調(diào)用都是完成同一個(gè)任務(wù)。所以其中的代碼也不需要再編寫。表7.3列出了常用的方法。7/24/2022方法程序功 能Cls清除表單中的圖形和文本Clear清除組合框和列表
13、框控件中的內(nèi)容Show把表單或表單集的Visible屬性設(shè)置為.T.,并使表單成為活動(dòng)對(duì)象Hide通過(guò)把Visible屬性設(shè)置為.F.,隱藏表單、表單集或工具欄Move用于移動(dòng)一個(gè)對(duì)象SetFocus為一個(gè)控件指定焦點(diǎn),使其成為活動(dòng)對(duì)象Box在表單對(duì)象上畫一個(gè)矩形Circle在表單對(duì)象上畫一個(gè)圓或橢圓Line在表單對(duì)象上繪制一條線Print在表單對(duì)象上打印一個(gè)字符串AddItem給組合框或列表框控件增加一個(gè)新數(shù)據(jù)項(xiàng)Refresh重畫表單或控件,并刷新所有的值Release從內(nèi)存中釋放表單集或表單Quit結(jié)束一個(gè)VFP實(shí)例7/24/20227.1.4 數(shù)據(jù)環(huán)境1數(shù)據(jù)環(huán)境的概念數(shù)據(jù)環(huán)境是指在打開(kāi)或
14、修改一個(gè)表單或報(bào)表時(shí)需要使用的數(shù)據(jù)源,包括打開(kāi)的全部表、視圖和關(guān)系。數(shù)據(jù)環(huán)境及其中的表與視圖都是對(duì)象。數(shù)據(jù)環(huán)境一旦建立,當(dāng)打開(kāi)或運(yùn)行表單時(shí),其中的表或視圖即自動(dòng)打開(kāi),與數(shù)據(jù)環(huán)境是否顯示無(wú)關(guān);而在關(guān)閉或釋放表單時(shí),表或視圖也能隨之關(guān)閉。7/24/20222數(shù)據(jù)環(huán)境設(shè)計(jì)器的使用數(shù)據(jù)環(huán)境設(shè)計(jì)器可用來(lái)可視化的創(chuàng)建或修改數(shù)據(jù)環(huán)境,可以從表單的快捷菜單中選擇【數(shù)據(jù)環(huán)境】命令,或者選擇【顯示】菜單的【數(shù)據(jù)環(huán)境】命令均可打開(kāi)如圖7.3所示的“數(shù)據(jù)環(huán)境”設(shè)計(jì)器,在彈出的對(duì)話框中添加要使用的表或視圖。 7/24/20223數(shù)據(jù)環(huán)境菜單當(dāng)數(shù)據(jù)環(huán)境設(shè)計(jì)器處于打開(kāi)狀態(tài)時(shí),會(huì)出現(xiàn)數(shù)據(jù)環(huán)境菜單,菜單中提供的幾個(gè)命令具有查看
15、和修改數(shù)據(jù)環(huán)境的功能,各命令選項(xiàng)功能如下:添加:用于向數(shù)據(jù)環(huán)境添加表或視圖。移去:移去選擇的表或視圖。瀏覽:瀏覽選擇的表或視圖。執(zhí)行表單:運(yùn)行表單。7/24/20227.1.5 對(duì)象的引用在面向?qū)ο蟮某绦蛟O(shè)計(jì)中常常要引用對(duì)象,或引用對(duì)象的屬性、事件與調(diào)用方法程序。在引用對(duì)象時(shí)要遵循一定的規(guī)則,主要包括以下4個(gè)方面:(1)在程序代碼中一般用以下關(guān)鍵字開(kāi)頭:ThisFormSet &表示當(dāng)前表單集ThisForm &表示當(dāng)前表單This &表示當(dāng)前對(duì)象7/24/2022(2)引用格式一般在引用關(guān)鍵字后跟一個(gè)點(diǎn)號(hào),表示從屬關(guān)系,再寫出被引用對(duì)象或者對(duì)象的屬性、事件或方法程序。例如:ThisForm.
16、Label1.Caption=標(biāo)簽標(biāo)題 ThisForm.cls7/24/2022(3)允許多級(jí)引用在應(yīng)用程序中,多個(gè)對(duì)象之間有多級(jí)的從屬關(guān)系,引用時(shí)可提供對(duì)象的完整容器層次來(lái)引用(稱絕對(duì)引用),也可從當(dāng)前層次來(lái)引用(稱相對(duì)引用)。以下是常用的引用格式:ThisFormSet.屬性名|事件|方法程序|對(duì)象名ThisForm. 屬性名|事件|方法程序|對(duì)象名This. 屬性名|事件|方法程序|對(duì)象名對(duì)象名. 屬性名|事件|方法程序7/24/2022(4)父調(diào)用父調(diào)用即控件引用包含它的容器控件。例如:This.Parent.BackColor=RGB(192,0,0)&將本對(duì)象的父對(duì)象的背景色設(shè)置
17、為暗紅色7/24/20227.2 類7.2.1 類的概念7.2.2 自定義類7.2.3 創(chuàng)建工具欄 7/24/20227.2.1 類的概念類是一組具有相同特性的對(duì)象的抽象的定義。它將屬性和方法統(tǒng)一起來(lái),把具有相似特征和行為的對(duì)象形成一個(gè)結(jié)構(gòu)。7/24/20221類與對(duì)象類和對(duì)象的關(guān)系密切,但并不相同。類包含了有關(guān)對(duì)象的特征和行為信息,它是對(duì)象的藍(lán)圖和框架。類是定義了對(duì)象特征以及對(duì)象外觀和行為的模板。比如,在表單控件工具欄中,每個(gè)按鈕都代表一個(gè)類,用其中某個(gè)按鈕在表單上創(chuàng)建的一個(gè)控件就是一個(gè)對(duì)象。類與對(duì)象存在如下關(guān)系:(1)類是對(duì)象的定義。類規(guī)定并提供了對(duì)象具有的屬性、事件和方法程序。(2)對(duì)象
18、通過(guò)類而產(chǎn)生。(3)對(duì)象是類的一個(gè)實(shí)例。7/24/20222基類與子類(1)基類基類是VFP系統(tǒng)預(yù)先定義的類,在如圖7.4所示的“新建類”對(duì)話框的“派生于”下拉列表框中,包含了全部基類,初始的表單控件工具欄中包含的類也是基類。7/24/2022(2)子類子類是指以某個(gè)類的定義為基礎(chǔ)創(chuàng)建的新類,子類所基于的類稱為父類。比如若要從基類創(chuàng)建出新類時(shí),那么基類就是父類,新建類即為子類。子類將繼承父類的全部特征,包括對(duì)父類的所做的修改。7/24/2022(3)用戶自定義類用戶可以從基類派生出子類,即用戶自定義類;VFP還允許從用戶定義類派生出子類,也就是說(shuō)用戶自定義類可以是子類,也可以是父類。用戶可以為
19、用戶自定義類設(shè)置屬性、編寫代碼與方法程序,也可創(chuàng)建新的屬性和方法程序。用戶還可以將自己定義的類添加到表單控件工具欄中。 7/24/2022(4)容器類和控件類VFP提供了兩大基類:容器類和控件類。容器類可以容納別的對(duì)象。如表單類中可以放命令按鈕、復(fù)選框按鈕、文本框控件等,因此表單可以看成一個(gè)容器類??丶愂强梢园谌萜黝愔胁⒂捎脩襞缮腣FP基類。7/24/2022(5)類庫(kù)類庫(kù)可用來(lái)存儲(chǔ)以可視方式設(shè)計(jì)的類,其文件擴(kuò)展名為.vcx。一個(gè)類庫(kù)通常可容納多個(gè)子類,這些子類允許由不同的基類派生。 7/24/20223類的特征類有如下特征,這些特征對(duì)提高代碼的可重用性和易維護(hù)性有很好用處。(1)封裝
20、性封裝的目的就是信息隱藏,把對(duì)象的內(nèi)部代碼隱藏起來(lái)。用戶只需知道該對(duì)象具有什么功能以及如何使用該對(duì)象,而不必了解這些功能是如何實(shí)現(xiàn)的。封裝特性使得對(duì)代碼的修改和維護(hù)變得比以前更容易了,同時(shí)還可以很方便地利用提供的基本類庫(kù)來(lái)實(shí)現(xiàn)強(qiáng)大的功能。(2)繼承性繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)中的一個(gè)重要的技術(shù)。它用來(lái)描述類之間的共同屬性,減少了相似類之間的重復(fù)說(shuō)明;它體現(xiàn)了一般化及特殊化的原則。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,繼承用以說(shuō)明子類延用父類特征的能力。如果父類特征發(fā)生改變,則子類將繼承這些新特征。(3)多態(tài)性多態(tài)性是指不同的對(duì)象接收到相同的消息時(shí),可以作出完全不同的解釋,進(jìn)而生產(chǎn)完全不同的行為。利用多態(tài)性,應(yīng)
21、用程序可以發(fā)送一般形式的消息,而將所有實(shí)現(xiàn)的細(xì)節(jié)留給接收消息的對(duì)象來(lái)解決。7/24/20227.2.2 自定義類VFP最強(qiáng)大的功能之一就是支持創(chuàng)建在應(yīng)用程序中重復(fù)使用的類,用戶定義的類可添加到表單控件工具欄中。用戶自定義的類通常有以下功能:封裝通用功能:為通用功能創(chuàng)建自定義類,可以將它們的實(shí)例添加到表單中。例如表單關(guān)閉按鈕類、幫助按鈕類等。賦予應(yīng)用程序統(tǒng)一的外觀和風(fēng)格:比如創(chuàng)建了獨(dú)特外觀的文本框類,便可在應(yīng)用程序所有需要文本框的地方都使用這個(gè)類。7/24/20221創(chuàng)建用戶自定義類下面通過(guò)一個(gè)實(shí)例講述創(chuàng)建用戶自定義類的步驟?!纠?.1】使用類設(shè)計(jì)器創(chuàng)建一個(gè)用戶自定義類,類名為“記錄指針移動(dòng)類”
22、。基類為命令按鈕組,存儲(chǔ)到c: Program Files Microsoft Visual Studiovfp98commandgroup1.vcx類庫(kù)中。操作步驟如下:(1)執(zhí)行【文件】菜單中的【新建】命令,彈出“新建”對(duì)話框,選擇“類”單選按鈕,彈出如圖7.5所示的“新建類”對(duì)話框;7/24/2022(2)在“新建類”對(duì)話框中指定新建類的類庫(kù)、基類與類名。在“類名”文本框用于指定類名;“派生于”下拉列表框用于指定新生成類的基類;“存儲(chǔ)于”文本框用于指定新類庫(kù)名或已有類庫(kù)的名字,類庫(kù)名可包含路徑,若未指出路徑表示使用默認(rèn)路徑。7/24/2022(3)指定各項(xiàng)內(nèi)容后,單擊【確定】按鈕,打開(kāi)如
23、圖7.6所示的“類設(shè)計(jì)器”窗口。7/24/2022(4)通過(guò)表單設(shè)計(jì)器控件工具欄添加相應(yīng)的控件,設(shè)計(jì)相應(yīng)的屬性與事件代碼。本例中添加五個(gè)命令按鈕。(5)屬性設(shè)置: “記錄指針移動(dòng)類”的ButtonCount屬性值設(shè)置為:5五個(gè)命令按鈕的標(biāo)題Caption屬性分別設(shè)置為:第一個(gè)記錄、前一個(gè)記錄、后一個(gè)記錄、最后一個(gè)記錄、退出。如圖7.7所示。7/24/2022 “第一個(gè)記錄”按鈕Command1的Click事件代碼為:go topThis.Parent.Command2.Enabled=.F.This.Parent.Command3.Enabled=.T.This.Parent.Command4
24、.Enabled=.T.This.Parent.Command5.Enabled=.T.ThisForm.Refresh7/24/2022 “前一個(gè)記錄”按鈕Command2的Click事件代碼為:skip 1if bof() =MessageBox(已是第一個(gè)記錄!,48,信息窗口) This.Enabled=.F.This.Parent.Command1.Enabled=.F.Else This.Enabled=.T.This.Parent.Command1.Enabled=.T.EndifThis.Parent.Command3.Enabled=.T.This.Parent.Comman
25、d4.Enabled=.T.This.Parent.Command5.Enabled=.T.ThisForm.Refresh7/24/2022 “后一個(gè)記錄”按鈕Command3的Click事件代碼為:skipif eof() =MessageBox(已是最后一個(gè)記錄!,48,信息窗口) skip -1 This.Enabled=.F.This.Parent.Command4.Enabled=.F.Else This.Enabled=.T.This.Parent.Command4.Enabled=.T.EndifThis.Parent.Command1.Enabled=.T.This.Pare
26、nt.Command2.Enabled=.T.This.Parent.Command5.Enabled=.T.ThisForm.Refresh7/24/2022 “最后一個(gè)記錄”按鈕Command4的Click事件代碼為:go bottomThis.Parent.Command1.Enabled=.T.This.Parent.Command2.Enabled=.T.This.Parent.Command3.Enabled=.F.This.Parent.Command5.Enabled=.T.ThisForm.Refresh7/24/2022 “退出”按鈕Command5的Click事件代碼為:
27、ThisForm.Release7/24/20222將類添加到工具欄用戶自定義類完成后,即可以將其添加到表單控件工具欄中,然后通過(guò)使用該工具欄中的“查看類”按鈕來(lái)打開(kāi)定義的類。 7/24/2022操作步驟:(1)選擇【文件】菜單中的【新建】命令,打開(kāi)“新建”對(duì)話框選擇“表單”單選按鈕,單擊【新建文件】按鈕,新建一表單,如圖7.8所示。7/24/2022(2)在“表單控件”工具欄上單擊【查看類】按鈕,在彈出的菜單中選擇【添加】命令,然后在彈出的“打開(kāi)”對(duì)話框中指定要添加的可視類庫(kù)的文件名,如圖7.9所示。單擊【打開(kāi)】按鈕,則打開(kāi)表單控件工具欄如圖7.10所示。7/24/2022(3)單擊新添加的
28、“記錄指針移動(dòng)類”按鈕,在表單中創(chuàng)建“記錄指針移動(dòng)類1”控件。結(jié)果如圖7.11所示。7/24/2022新添加類按鈕7/24/20223. 類的編輯在VFP中,用戶可以修改用戶自定義的類,也可以刪除類庫(kù)中的類,或刪除類庫(kù)。(1)修改用戶自定義的類若要為用戶自定義的類設(shè)置屬性,編寫事件代碼或方法程序代碼,或者是創(chuàng)建新的屬性或方法程序,都必須打開(kāi)類設(shè)計(jì)器來(lái)實(shí)現(xiàn)。要打開(kāi)類設(shè)計(jì)器,只要打開(kāi)一個(gè)可視類庫(kù),并選擇其中的一個(gè)類即可。7/24/2022【例7.3】修改【例7.1】中創(chuàng)建的“記錄指針移動(dòng)類”。操作步驟如下:執(zhí)行【文件】菜單的【打開(kāi)】命令,在“打開(kāi)”對(duì)話框的文件類型列表框中選擇可視類,從中選擇類庫(kù)名
29、Commandgroup1.vcx,單擊【確定】按鈕。在彈出的“打開(kāi)”對(duì)話框中右邊的列表框中選擇要修改的類“記錄指針移動(dòng)類”,單擊【打開(kāi)】按鈕。在彈出的“類設(shè)計(jì)器”窗口中,選擇要修改內(nèi)容的按鈕后,利用屬性窗口修改相應(yīng)的內(nèi)容。關(guān)閉類設(shè)計(jì)器窗口,選擇保存修改。7/24/2022(2)刪除類庫(kù)中的一個(gè)類一個(gè)類庫(kù)文件中可以包含多個(gè)類,要?jiǎng)h除類庫(kù)中的某個(gè)類,可以用以下方法:使用命令:REMOVE CLASS OF 在項(xiàng)目管理器的“類”選項(xiàng)卡中選擇指定類庫(kù)中的一個(gè)類,單擊【移去】按鈕即可。7/24/2022(3)刪除類庫(kù)要?jiǎng)h除類庫(kù)只要將指定的類庫(kù)文件刪除即可。7/24/20224為字段設(shè)置類要在表單上創(chuàng)建
30、控件有兩種方法,一種是直接在表單控件工具欄上選擇控件后,在表單上單擊即可。另一種方法就是在數(shù)據(jù)環(huán)境中拖動(dòng)有關(guān)的字段到表單設(shè)計(jì)器窗口來(lái)產(chǎn)生控件。數(shù)據(jù)庫(kù)表的每一個(gè)字段從數(shù)據(jù)環(huán)境拖動(dòng)到表單后會(huì)自動(dòng)生成一個(gè)控件,如將XSK表的姓名字段拖動(dòng)到表單上會(huì)默認(rèn)產(chǎn)生一個(gè)文本框,除使用默認(rèn)控件外,用戶還可以通過(guò)設(shè)置產(chǎn)生其它控件。這些設(shè)置是在數(shù)據(jù)庫(kù)“表設(shè)計(jì)器”窗口通過(guò)為字段指定類庫(kù)和類實(shí)現(xiàn)的。7/24/2022【例7.4】設(shè)計(jì)XSK表的結(jié)構(gòu),使得將XSK表的獎(jiǎng)學(xué)金字段拖動(dòng)到表單上后產(chǎn)生微調(diào)控件。操作步驟:(1)在項(xiàng)目管理器窗口的“數(shù)據(jù)”選項(xiàng)卡中選擇XSK表,然后單擊右側(cè)的【修改】按鈕,打開(kāi)“表設(shè)計(jì)器”窗口,如圖7.12所示。7/24/2022(2)在字段選項(xiàng)卡中
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題開(kāi)題報(bào)告:地方教育資源的開(kāi)發(fā)與轉(zhuǎn)化機(jī)制研究
- 課題開(kāi)題報(bào)告:大學(xué)生就業(yè)新形態(tài)研究
- 課題開(kāi)題報(bào)告:初中與高中雙向、有效、高效銜接的設(shè)計(jì)、實(shí)施與評(píng)價(jià)研究
- 課題開(kāi)題報(bào)告:產(chǎn)業(yè)工人終身職業(yè)技能培訓(xùn)制度的國(guó)際經(jīng)驗(yàn)做法及對(duì)我國(guó)的啟示建議
- 課題開(kāi)題報(bào)告:博士研究生教育全球競(jìng)爭(zhēng)力比較研究
- 中藥香薰產(chǎn)品行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 兒科抗感染小分子藥行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報(bào)告
- 二零二五年度環(huán)保設(shè)備維修保養(yǎng)協(xié)議
- 藥店員工合同協(xié)議書(2025年度)-藥店員工績(jī)效獎(jiǎng)勵(lì)與晉升機(jī)制
- 2025年度股權(quán)變更與生物科技研發(fā)合作協(xié)議
- 天津2025年天津市機(jī)關(guān)后勤事務(wù)服務(wù)中心招聘6人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年天津三源電力集團(tuán)限公司社會(huì)招聘33人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 西安2025年陜西西安音樂(lè)學(xué)院專任教師招聘20人筆試歷年參考題庫(kù)附帶答案詳解
- 國(guó)家安全與生態(tài)安全
- 2024-2025學(xué)年第二學(xué)期學(xué)校團(tuán)委工作計(jì)劃(附2月-6月安排表)
- 培養(yǎng)自律能力主題班會(huì)
- 中職高教版(2023)語(yǔ)文職業(yè)模塊-第一單元1.2寧夏閩寧鎮(zhèn):昔日干沙灘今日金沙灘【課件】
- 巴厘島旅游流程介紹
- 【物理】牛頓第一定律 2024-2025學(xué)年人教版物理八年級(jí)下冊(cè)
- 嬰幼兒電擊傷實(shí)踐操作張春芳講解
- 2025網(wǎng)格員考試題庫(kù)及參考答案
評(píng)論
0/150
提交評(píng)論