數(shù)據(jù)庫原理第7章可視化程序設(shè)計ppt課件_第1頁
數(shù)據(jù)庫原理第7章可視化程序設(shè)計ppt課件_第2頁
數(shù)據(jù)庫原理第7章可視化程序設(shè)計ppt課件_第3頁
數(shù)據(jù)庫原理第7章可視化程序設(shè)計ppt課件_第4頁
數(shù)據(jù)庫原理第7章可視化程序設(shè)計ppt課件_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第7章可視化程序設(shè)計,7.1 面向?qū)ο蟮某绦蛟O(shè)計 7.2.類的創(chuàng)建 7.3.對象的操作 7.4.表單設(shè)計 7.5 常用控件及其應(yīng)用,學(xué)習(xí)目標(biāo),理解對象的概念; 理解類的概念,掌握類的創(chuàng)建方法和對象創(chuàng)建的方法; 理解并掌握新建屬性和方法程序的方法; 理解并掌握VFP提供29種基類; 熟練掌握表單的設(shè)計與運行的方法; 熟練掌握常用控件的使用方法,重點與難點,重點在于面向?qū)ο蟮母拍畹睦斫?、控件的設(shè)計和表單設(shè)計方法的掌握; 難點在于面向?qū)ο蟮氖录?qū)動程序的設(shè)計方法的掌握,7.1 面向?qū)ο蟮某绦蛟O(shè)計,面向?qū)ο蟮某绦蛟O(shè)計,不是單純地從代碼的第一行一直編到最后一行,而是考慮如何創(chuàng)建對象,用對象的概念來思考,

2、簡化了程序設(shè)計,提供代碼的可重用性。所以對象的概念是面向?qū)ο蟮某绦蛟O(shè)計的核心,7.1.1 對象,對象是反映客觀事物屬性及行為特征的描述。一個對象是既包含有數(shù)據(jù)(也稱屬性),又包含有處理該數(shù)據(jù)代碼(也稱方法)的一個邏輯實體。 在VFP中,各種對象擁有70多個屬性,對象的屬性可以在設(shè)計對象時定義,也可以在對象運行時進行設(shè)置。 對象支持封裝性、多態(tài)性與繼承性,7.1.2 類,類是一組對象的屬性和行為特征的抽象描述,是具有共同屬性和行為特征的對象集合。 類具有如下特征:封裝性、可派生子類、繼承性和隱藏不必要的復(fù)雜性等。 在VFP系統(tǒng)中,類就像是一個模版(Template),對象是由類生成的,是類的實例

3、。 類定義了對象的公共屬性、事件和方法,從而決定了對象的一般性的屬性和行為。VFP系統(tǒng)提供了29個基類,VFP系統(tǒng)提供的29個基類,它們可以分為容器類和控件類。 (1)控件類(Control Object Class):是封裝嚴密、沒有方法程序和不能容納其他對象。譬如:文本控件。 (2)容器類(Container Class):可以包含其他對象,并且允許訪問所包含的對象。譬如:表單類可以允許添加其他控件到它里面,7.1.3 事件與方法,事件(Event)是每個對象可能用以識別和響應(yīng)的某些行為和動作,它是一種預(yù)先定義好的特定動作,由用戶或系統(tǒng)激活,在多數(shù)情況下,它是通過用戶的交互操作產(chǎn)生的 。在

4、VFP中,對象可以響應(yīng)50多種事件。 方法(Method)是附屬于對象的行為和動作。方法程序是與對象相關(guān)聯(lián)的過程,但又不同于一般的VFP過程。方法程序緊密地和對象連接在一起,并且與一般VFP過程的調(diào)用方式也有所不同。 事件集合雖然范圍很廣卻是固定的,用戶不能創(chuàng)建新的事件,然而方法程序集合卻可以無限擴展,核心事件(適用于大多數(shù)的控件,7.2.類的創(chuàng)建,可視化程序設(shè)計開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng),通常是把常用的對象定義成一個類,再根據(jù)需要在這個類的基礎(chǔ)上,派生出一個或多個具體對象,最后利用這些對象來設(shè)計數(shù)據(jù)庫應(yīng)用系統(tǒng)程序。這樣做的好處提高編程效率,方便維護,1創(chuàng)建類,創(chuàng)建一個新類,有三種方法: (1)使用類

5、設(shè)計器 (2)在表單設(shè)計器中定義類 (3)使用Define Class定義類,1)使用類設(shè)計器,create class 或 create class of,2)在表單設(shè)計器中定義類,在“表單設(shè)計器”中,通過添加控件和交互式、可視地設(shè)置類的屬性來定義,在7.4節(jié)會詳細講述,3)使用Define Class定義類,通過Define Class命令編程方式來定義。命令格式如下: define class as perty=expression add object as with property list procedure name endprocedure enddefi

6、ne,例7.1】定義一個帶有命令按鈕(“關(guān)閉”)的容器類“exitform,define class exitform as form visible=.t. caption=退出 left=20 top=10 height=223 width=443 add object comm1 as commandbutton; with caption=關(guān)閉,left=300,top=150,height=25,width=60 procedure comm1.click release thisform endprocedure enddefine,類定義好了以后就可以由它來創(chuàng)建對象,2修改類定義

7、,類定義后,還可以對它進行修改。對類的修改將影響所有的子類和基于這個類的所有對象,即所有子類和基于這個類的所有對象都將繼承修改。 修改類的方法有三種: (1)通過“項目管理器”,選擇待修改的類,單擊“修改”以打開“類設(shè)計器”進行修改。 (2)通過文件打開類庫,選擇修改的類。 (3)使用命令 modify class,3創(chuàng)建類定義的子類,可以使用兩種方法創(chuàng)建用戶自定義類的子類: (1)在“新建類”對話框中,如圖7.1所示,單擊“派生于”框右邊的對話框鈕(),在“打開”對話框中選擇派生新類的父類。 (2)使用Create Class命令 create class 子類名 of 類庫名 as 父類名

8、 from 存放類庫的文件名,4“類”菜單,打開類設(shè)計器,在VFP系統(tǒng)主菜單上出現(xiàn)了“類”菜單,該菜單中包括:新建屬性、新建方法程序等,可以向定義的新類添加任意多的新屬性和方法程序,屬性保存值,而方法程序則保存調(diào)用時可以運行的過程代碼,1)新建屬性,Access和Assign方法程序的區(qū)別:當(dāng)使用對象引用中的屬性,將屬性值存儲到變量中,或用“?”命令顯示屬性值時,即在查詢屬性值時,執(zhí)行Access方法程序中的代碼;而當(dāng)試圖改變屬性值時,將執(zhí)行Assign方法程序中的代碼,2)新建方法程序,7.3.對象的操作,類是對象的抽象,對象是類的實例。類不能直接被引用,由類創(chuàng)建的對象才能被引用,所以,對象

9、的過程代碼設(shè)計特別重要。下面給出一些對象的基本操作命令。 1由類創(chuàng)建對象 =createobject() 2. 設(shè)置對象的屬性 perty=value 3調(diào)用對象的方法 parent.object.method,設(shè)置對象的屬性的簡化方法,簡化方法 with endwith 例如: with form1 .caption=我的表單 .backcolor=rgb(128,128,0) endwith,7.4.表單設(shè)計,在VFP中,表單(Form)是數(shù)據(jù)庫應(yīng)用系統(tǒng)的主要工作界面,也成為屏幕(Screen),保存的文件類型名為SCX就有這個意思。 表單的設(shè)計是可視化程

10、序設(shè)計的基礎(chǔ),也是學(xué)習(xí)可視化程序設(shè)計的最重要環(huán)節(jié)。 表單是一個容器基類,具有多種屬性,又可以在其中添加控件,可以響應(yīng)多種事件實現(xiàn)多種操作,7.4.1 創(chuàng)建表單,創(chuàng)建表單的過程就是添加控件、定義控件的屬性、確定事件或方法程序代碼的過程。VFP中,可以使用以下任意一種菜單方式創(chuàng)建表單: (1)使用表單向?qū)?chuàng)建表單。 (2)在“表單”菜單中選擇“快速表單”命令,建立一個用戶可以通過添加自己的控件來定制的簡單表單。 (3)使用“表單設(shè)計器”修改已有的表單或創(chuàng)建自己的表單,表單設(shè)計器,create form 表單名,7.4.2 定制表單,新建的表單是一個空表單,還需對表單進行控件的添加和其屬性與代碼的設(shè)

11、置,這一過程就是定制表單。包括: 1設(shè)置數(shù)據(jù)環(huán)境 2向表單中添加控件 3向表單中添加新的屬性與方法 4定義表單的操作行為 5編輯事件代碼或方法代碼 6預(yù)定義常量,1設(shè)置數(shù)據(jù)環(huán)境,設(shè)置數(shù)據(jù)環(huán)境就是指定與表單關(guān)聯(lián)的表或視圖??丶膶傩訡ontrolSource(數(shù)據(jù)源)把添加到表單中的控件與表或視圖中的字段關(guān)聯(lián)起來。在“表單設(shè)計器”中右擊彈出一個快捷菜單,從其中選擇“數(shù)據(jù)環(huán)境”就可打開“數(shù)據(jù)環(huán)境設(shè)計器”窗口,2向表單中添加控件,1)使用表單控件工具欄,2)利用數(shù)據(jù)環(huán)境向表單中添加控件,3)使用表單生成器,3向表單中添加新的屬性與方法,4定義表單的操作行為,定義表單的操作行為是通過“屬性”窗口設(shè)置,

12、不同的控件可以有不同的屬性、方法等,5編輯事件代碼或方法代碼,創(chuàng)建表單或向表單中添加控件后,如果要讓它們“動起來”,必須編寫事件代碼或方法代碼。進入代碼編輯狀態(tài),有多種方法,其中鼠標(biāo)雙擊相應(yīng)的控件的方法最簡便,6預(yù)定義常量,除了可以向表單添加屬性變量,還可以預(yù)定義常量。 預(yù)定義常量是通過“表單”菜單中的“包含文件”菜單項來實現(xiàn)的。 包含的文件是指頭文件,其內(nèi)容是用宏命令定義常量,譬如: #define E 2.718,7.4.3 修改表單,如果使用向?qū)Щ蛏善鹘⒌谋韱螞]有達到要求,還可以使用“表單設(shè)計器”進行修改:移動和調(diào)整控件的大小、復(fù)制或刪除控件、對齊控件以及修改Tab鍵次序等等。 注意

13、:對控件進行操作前,首先需要選中控件,修改表單的基本操作,1)選中控件:單擊需要選定的控件就可以選中該控件。如果需要同時選中多個控件,只需在單擊時按住shift鍵不放。 2)移動控件:可以通過鼠標(biāo)拖動選中的控件或用光標(biāo)鍵上、下、左、右來移動。 3)縮放控件:選中的控件四周有“尺寸柄”,往外拖動可以放大控件,往里拖動可以縮小控件。 4)復(fù)制或刪除控件:通過“剪貼板”可以復(fù)制或刪除控件;對選定的控件,單擊delete鍵也可快速刪除控件。 5)對齊控件:選定需要對齊的控件,使用布局工具按鈕就可以對齊控件了。 6)設(shè)置控件的Tab次序:Tab次序確定輸入數(shù)據(jù)按Tab鍵下跳哪一個控件,而按Shift+T

14、ab組合鍵回跳哪一個控件。設(shè)置方法:交互方式或列表方式,7.4.4 表單管理,7.4.5 保存和運行表單,保存表單就是將設(shè)計好的表單保存到表單文件(.scx)中,從“文件”菜單中選擇“保存”或按Ctrl+W鍵,首次保存還需要輸入文件主名。 運行表單的方法有多種: (1)從“項目管理器”中運行。 (2)從“表單”菜單中選擇“運行表單”菜單項。 (3)在“表單設(shè)計器”中右擊,彈出快捷菜單選擇“運行表單”菜單項。 (4)單擊工具欄上的運行命令按鈕(紅色“!”按鈕)。 (5)使用命令運行表單,命令格式如下: do form 表單名,7.4.6 創(chuàng)建表單集,VFP中,可以將多個表單包含在一個表單集,這樣

15、可以對表單集中的所有表單進行統(tǒng)一操作。譬如:一起顯示或隱藏表單集中的表單,統(tǒng)一控制和安排這些表單的相對位置,在表單集上設(shè)置數(shù)據(jù)環(huán)境等。啟動運行表單集時,表單集中的所有表單將一起裝入內(nèi)存。 創(chuàng)建表單集:從“表單”菜單中選擇“創(chuàng)建表單集”菜單項就可以創(chuàng)建。創(chuàng)建了表單集后,使用“表單”菜單中的“添加新表單”菜單項就可以將表單添加到表單集,使用“移去”菜單項可以從表單集中移去表單,7.5 常用控件及其應(yīng)用,常用控件出現(xiàn)在表單控件工具欄的控件,當(dāng)鼠標(biāo)指針在相應(yīng)的控件并稍作停留時,該控件的名稱會顯示出來,7.5.1 標(biāo)簽控件,標(biāo)簽(Label)控件只用于顯示文本類型的提示信息,本身沒有數(shù)據(jù)處理的功能,也不

16、能被直接編輯。 (1)Caption:設(shè)置標(biāo)簽的標(biāo)題,即標(biāo)簽顯示的提示信息。 (2)AutoSize:可以設(shè)置為真或假。為真時,控件的大小隨文本的改變而變化;為假時控件的大小不隨文本的變化而變化。 (3)BackStyle:可以設(shè)置為0或1。為0表示無邊框;為1時表示有固定單線。 (4)WordWrap:確定標(biāo)簽上顯示的文本是否換行,可以設(shè)置為真或假,7.5.2 文本框控件與編輯框控件,文本框(Text)控件是設(shè)計交互式應(yīng)用程序所不可缺少的控件,可以輸入至多255個字符的單行文本或多行文本,具有基本的文字處理功能,譬如:可以使用“剪貼板”。它常用于在運行時接受用戶的輸入文本,也可用于顯示文本信

17、息,是字符型字段默認綁定的控件。 編輯框(Edit)控件同文本框控件的作用相同,用于輸入或顯示文本信息,但文本框至多只能接受255個字符,而編輯框控件可以接受多于255個字符,是備注型字段默認綁定的控件。編輯框有滾動條,當(dāng)數(shù)據(jù)內(nèi)容沒有超過編輯區(qū)域時,該滾動條呈灰色,為不可用狀態(tài),7.5.3 命令按鈕與命令按鈕組控件,命令按鈕與命令按鈕組控件用于在人機交互界面上觸發(fā)一些事件,以便完成所需的任務(wù),譬如:釋放表單,保存數(shù)據(jù),取消輸入等。命令按鈕的提示信息可以是文本的,也可以是圖形的。 命令按鈕組控件是一種容器,在其下一層次可以設(shè)定一組命令按鈕。 初學(xué)者常遇到不能選定容器中下一層次控件的情況,可以通過

18、“屬性”窗口中來選定或從鼠標(biāo)右擊容器控件彈出的快捷菜單中選擇“編輯”菜單項,從命令按鈕組中選擇命令按鈕的操作,例7.2】設(shè)計一個程序文件(.prg)內(nèi)容的閱讀器。該閱讀器可以實現(xiàn)輸入文件名或未輸入文件名而直接單擊“確定”來通過“打開”窗口選擇文件,如果選擇的文件存在,則在編輯框中顯示內(nèi)容,7.5.4 選項組控件與復(fù)選框控件,選項組(OptionGroup)控件是一個包含選項命令的容器,與命令按鈕組控件相似,選項組對象的下一層是選項命令按鈕對象 。選項組控件用于多個值只能選取之一的情形,在選項命令按鈕前的圓圈中黑點表示該項被選中。 復(fù)選框(Check)控件用來在邏輯值真(.T.)和假(.F.)之

19、間切換,多個復(fù)選框構(gòu)成的復(fù)選框組允許選取多項,在選項前的方框中“”表示該項選中。 復(fù)選框和選項組都為用戶提供了友好、美觀的界面,用戶可以十分方便地通過鼠標(biāo)準(zhǔn)確輸入,例7.3】設(shè)計一個客觀題測試的簡單系統(tǒng)。系統(tǒng)功能:根據(jù)參考答案來確定是單選題還是多選題;能夠循環(huán)地選擇數(shù)據(jù)表中所有的題目;可以判斷是否選擇正確,如果錯誤需要給出答案。題庫數(shù)據(jù)表(TK.dbf)存放題目、選項、參考答案和選擇,7.5.5 列表框控件與組合框控件,列表框(ListBox)用于顯示一系列數(shù)據(jù)項,方便用戶從中選擇一項或多項。組合框(ComboBox)相當(dāng)于文本框和列表框的組合,它有兩種表現(xiàn)方式,一種是下拉組合框,另一個是下拉

20、列表框,這兩種方式的區(qū)別在于:利用下拉組合框可以通過鍵盤輸入內(nèi)容;而下拉列表框只能選擇列表中的值,而無法進行輸入。列表框與組合框功能相似,不同之處: (1)列表框可顯示多個數(shù)據(jù)項,而組合框初始時只顯示一個數(shù)據(jù)項,所以使用組合框可以節(jié)省界面。 (2)列表框可選擇多個數(shù)據(jù)項,而組合框只能選擇一個數(shù)據(jù)項。 (3)列表框不允許用戶輸入數(shù)據(jù)項,而組合框中的下拉組合框允許用戶鍵盤輸入,數(shù)據(jù)源,數(shù)據(jù)源是使用列表框和組合框控件首先需要考慮的,它們的數(shù)據(jù)源是通過RowSource屬性來設(shè)置,但必須與RowSourceType屬性的設(shè)置相對應(yīng),否則表單不會正確運行,例7.4】設(shè)計一個下拉框和組合框測試的簡單系統(tǒng),

21、7.5.6 圖像控件,圖像(Image)控件用于在表單上顯示圖像文件,譬如:.BMP、.GIF、.JPG或圖標(biāo).ICO等類型的文件,不能對顯示的圖像進行編輯,使用該控件可以使界面顯得更生動。常用的屬性如下: (1)Picture:指定圖像文件。 (2)Stretch:指定圖像文件大小的調(diào)整方式以適應(yīng)圖像控件區(qū)域的大小,該屬性有三種取值:0、1或2,7.5.7 線條控件與形狀控件,線條(Line)控件是一種圖形控件,用于創(chuàng)建水平線、垂直線或?qū)蔷€。由于不能對它進行編輯,如果需要對它進行修改,必須通過線條屬性設(shè)置或事件過程來完成。 形狀(Shape)控件也是一種圖形控件,同樣不能對它進行直接編輯,

22、也需要通過屬性設(shè)置或事件過程來修改。它主要用于創(chuàng)建矩形、圓或橢圓形狀的對象,7.5.8 微調(diào)控件,微調(diào)(Spinner)控件用于接收指定范圍內(nèi)的數(shù)值輸入,通過在當(dāng)前值的基礎(chǔ)上做微小的增量(單擊向上箭頭)或減量(單擊向下箭頭)調(diào)節(jié)可以代替鍵盤輸入,也可以通過鍵盤在微調(diào)控件框內(nèi)直接輸入數(shù)值。它的常用屬性如下: 1)Increment:指定微調(diào)控件向上或向下箭頭的微調(diào)量,默認值為1.0。 2)KeyBoardHighValue:指定在微調(diào)控件框中通過鍵盤可輸入的最大值。 3)KeyBoardLowValue:指定在微調(diào)控件框中通過鍵盤可輸入的最小值。 4)SpinnerHighValue:指定單擊微

23、調(diào)控件的向上箭頭能調(diào)節(jié)的最大值。 5)SpinnerLowValue:指定單擊微調(diào)控件的向下箭頭所能調(diào)節(jié)的最小值。 它的常用事件如下: 1)InteractiveChange:使用鼠標(biāo)或鍵盤改變微調(diào)控件的值時觸發(fā)該事件,7.5.9 OLE控件,OLE控件用于顯示和操作OLE對象(是指可供鏈接或嵌入的對象),譬如:文本、聲音、圖像、動畫或視頻數(shù)據(jù)等。 OLE對象是Windows環(huán)境下提供的實現(xiàn)程序間共享信息資源的一種手段,它可以分為OLE綁定型對象和OLE容器兩類,前者僅用于將依附于數(shù)據(jù)表的通用字段中的OLE對象添加到表單中,它也是將通用字段中的OLE對象添加到表單中的唯一方法;后者將不依附于數(shù)

24、據(jù)表的通用字段的OLE對象添加到表單中,7.5.10 頁框控件,頁框(PageFrame)控件是包含頁面的容器控件,而頁面中又可以包含控件。 一個頁框控件可以包含有兩個以上的頁面,這些頁面共同占用表單的一塊區(qū)域,在任何時刻只有一個頁面是活動頁面,只有活動頁面中的控件才是可見的,通過頁框中的頁面標(biāo)題可以方便地完成頁面的快速切換,例7.5】使用頁框控件設(shè)計界面,第1個頁面通過微調(diào)設(shè)置一個形狀的曲率并顯示圖形;第2個頁面通過命令按鈕組的選擇顯示圖像的裁剪、等比填充或變比填充;第3個頁面根據(jù)設(shè)定的參數(shù)畫線顯示線條。第4個頁面插入日歷OLE控件,7.5.11 計時器控件,計時器(Timer)控件用于通過時間間隔自動觸發(fā)事件,常用于控制定時執(zhí)行某些重復(fù)的操作,它在運行時是不可見的,具有如下常用屬性: (1)Interval:設(shè)置計時器的時間間隔,單位為毫秒。 (2)Enabled:設(shè)置計時器的有效性,為.T.時表示計時器控件在表單加載時就開始工作,為.F.時掛起計時器的運行。 它的常用事件如下: (1)Timer:當(dāng)經(jīng)過Interval屬性

溫馨提示

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

評論

0/150

提交評論