




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本講內(nèi)容本講內(nèi)容 第第7章章 面向?qū)ο蟪绦蛟O(shè)計面向?qū)ο蟪绦蛟O(shè)計 7.1 面向?qū)ο蟪绦蛟O(shè)計基本概念 1.對象:構(gòu)成應(yīng)用程序的任何可操作的實體,如表、窗口、對話框等。對象:構(gòu)成應(yīng)用程序的任何可操作的實體,如表、窗口、對話框等。 VFP中,常用的對象共有21個,分為控件類與容器類兩種。 (1)控件:是表單(FORM,即窗口樣式,用于提供操作界面)上顯示數(shù)據(jù)和執(zhí) 行操作的基本對象,例如:命令按鈕、文本框、標(biāo)簽等。 (2)容器:是可以容納其他對象的對象。例如:選項按鈕組、命令按鈕組等。 2.屬性屬性 對象的屬性用來表示對象的特征、狀態(tài)。如命令按鈕有位置、大小等 3.方法方法 對象的方法是對象內(nèi)定的通用過
2、程,能使對象執(zhí)行一個操作。如:調(diào)用表單的Release方法能將表單從內(nèi)存釋放??衫斫鉃閮?nèi)部函數(shù)。 4.事件事件 事件是指對象能識別并能響應(yīng)的一些預(yù)先定義好的動作,可由用戶或系統(tǒng)觸發(fā)。如:單擊鼠標(biāo)等。 5.事件驅(qū)動的工作方式事件驅(qū)動的工作方式 某事件一旦被觸發(fā),系統(tǒng)就去執(zhí)行該事件對應(yīng)的過程代碼,當(dāng)然事件過程的代碼需要用戶事先編寫好;過程執(zhí)行完畢,則系統(tǒng)又處于等待狀態(tài)。 面向?qū)ο蟪绦蛟O(shè)計不同于傳統(tǒng)的面向過程程序設(shè)計,不再是單純地從代碼的第一行編到最后一行,而是考慮如何創(chuàng)建對象,利用對象來簡化程序設(shè)計。容器能包含的對象表單集表單、工具欄表單頁框、表格、任何控件頁框頁面頁面表格、任何控件表格表格列表格
3、列標(biāo)頭對象、除表單、表單集、工具欄、計時器和列對象以外的對象選項按鈕組選項按鈕命令按鈕組命令按鈕工具欄任何控件、頁框、容器Container容器任何控件事件觸發(fā)時機(jī)事件觸發(fā)時機(jī)Load創(chuàng)建對象前MouseUp釋放鼠標(biāo)鍵時Init創(chuàng)建對象時MouseDown按下鼠標(biāo)鍵時Activate對象激活時MouseMove拖動鼠標(biāo)時Gotfocus對象得到焦點時KeyPress按下并釋放某鍵盤鍵時Click單擊鼠標(biāo)左鍵時Valid對象失去焦點前DblClick雙擊鼠標(biāo)左鍵時LostFocus對象失去焦點時InteractiveChange當(dāng)用戶通過鍵盤或鼠標(biāo)改變一個控件的值時Unload釋放對象時 Vfp
4、部分常見事件列表 容器及包含的對象 7.2.1 表單設(shè)計器的工具 1.表單設(shè)計器的功能與特點: (1)創(chuàng)建表單及表單上的各個對象。 (2)修改已有的表單。 (3)操作方便與可視化。 2.表單設(shè)計工具 可供表單設(shè)計使用的各要素與工具: (1)表單設(shè)計器窗口與表單窗口:多數(shù)設(shè)計工作將在表單窗口中完成。 (2)屬性窗口:可以完成對象屬性的設(shè)置與修改。 (3)代碼編輯窗口:供用戶編寫事件或方法的程序代碼。 (4)各種工具欄 (5)數(shù)據(jù)環(huán)境設(shè)計器窗口:為表單創(chuàng)建或修改數(shù)據(jù)環(huán)境。 (6)快捷菜單:不同對象有不同快捷菜單幫助完成經(jīng)常性工作。 (7)動態(tài)菜單 表單設(shè)計器 7.2.2 表單的創(chuàng)建與表單設(shè)計器的操
5、作 表單的創(chuàng)建一般步驟為:打開表單設(shè)計器設(shè)置數(shù)據(jù)環(huán)境添加對象調(diào)整對象的位置設(shè)置對象屬性編寫事件代碼保存表單執(zhí)行表單。 例:(P166) 1.打開表單設(shè)計器:三種方法(打開表單設(shè)計器:三種方法(P167) 2.設(shè)置數(shù)據(jù)環(huán)境設(shè)置數(shù)據(jù)環(huán)境 (1)數(shù)據(jù)環(huán)境概念 數(shù)據(jù)環(huán)境泛指定義表單使用的數(shù)據(jù)源,可以是表、視圖和表間關(guān)系。 (2)數(shù)據(jù)環(huán)境設(shè)計器打開 打開數(shù)據(jù)環(huán)境設(shè)計器可使用表單快捷菜單的“數(shù)據(jù)環(huán)境”命令,或選定“顯示”菜單的數(shù)據(jù)環(huán)境命令。 (3)數(shù)據(jù)環(huán)境設(shè)計器快捷菜單與數(shù)據(jù)環(huán)境菜單 數(shù)據(jù)環(huán)境菜單提供了幾個命令,具有查看和修改數(shù)據(jù)環(huán)境的功能 添加命令 移去命令 瀏覽命令 例題數(shù)據(jù)環(huán)境的設(shè)置: 選定表單快捷
6、菜單的“數(shù)據(jù)環(huán)境”命令以打開數(shù)據(jù)環(huán)境設(shè)計器。 選定“添加表或視圖”對話框的STAFF表,選定“添加”按鈕。 3.對象的添加對象的添加 在VFP中實現(xiàn)對象創(chuàng)建的主要工具是表單控件工具欄(介紹)與字段映象。 (1)利用表單控件工具欄添加對象 (2)利用字段映象添加對象 字段映象:指當(dāng)用戶打開數(shù)據(jù)環(huán)境設(shè)計器窗口,選定表中的任一字段,將其拖至表單窗口中釋放,將在對應(yīng)位置產(chǎn)生兩個對象,一個是標(biāo)簽對象,用來顯示字段名或字段標(biāo)題;另一個對象類型則取決定于字段類型,字符型、數(shù)值型、日期型等用文本框?qū)ο蟊硎?,邏輯型用?fù)選框表示,備注型用編輯框表示,通用型用ActiveX綁定控件表示。而且該對象與字段數(shù)據(jù)自動實現(xiàn)
7、數(shù)據(jù)綁定。 所謂數(shù)據(jù)綁定是指將對象的值與某個數(shù)據(jù)源聯(lián)系在一起。這樣對象的值便與數(shù)據(jù)源的值相一致,當(dāng)對象的值被修改也就意味字段的值被修改,反之也一樣。 例題對象的添加: 利用字段映象功能往表單逐個添加字段對象。 單擊表單控件工具欄的命令鈕按鈕,單擊表單的對應(yīng)位置,創(chuàng)建Command1對象,依照此方法再創(chuàng)建。 (4)四個輔助按鈕 選定對象按鈕按鈕鎖定按鈕查看類 生成器鎖定按鈕 表單控件工具欄表單控件工具欄選定對象選定對象文本框文本框命令鈕命令鈕選項按鈕組選項按鈕組組合框組合框圖象圖象Activex綁定控件(oleboundcontrol)分隔符分隔符按鈕鎖定按鈕鎖定微調(diào)控件微調(diào)控件頁框頁框形狀形狀
8、查看類查看類標(biāo)簽標(biāo)簽編輯框編輯框命 令 按 鈕命 令 按 鈕組組復(fù)選框列表框列表框表格表格計時器計時器Activex控件(olecontrol)線條線條容器容器超級鏈接超級鏈接生成器鎖生成器鎖pg定定定定 4.調(diào)整控件的位置調(diào)整控件的位置 5.設(shè)置對象的屬性設(shè)置對象的屬性 (本例如P174) 屬性窗口如圖所示,包括對象組合框、選項卡、屬性設(shè)置框、屬性列表框、屬性說明信息。屬性窗口的組成屬性列表框?qū)傩粤斜砜驅(qū)傩栽O(shè)置框?qū)傩栽O(shè)置框選項卡選項卡對象組合框?qū)ο蠼M合框?qū)?性 說 明 信屬 性 說 明 信息息 6.事件代碼的編寫(本例代碼見事件代碼的編寫(本例代碼見P174) 編寫事件代碼先要打開代碼編輯窗
9、口,打開某對象代碼編輯窗口的方法有很多種,具體如下: 方法1:雙擊該對象。 方法2:選定該對象的快捷菜單的“代碼”命令。 方法3:選定“顯示”菜單的“代碼”命令。 代碼編輯窗口中包含兩個組合框和一個窗口。 例題事件代碼編寫:Command1的Click事件代碼編寫如下: IF RECNO()1 SKIP -1 THISFORM.REFRESH ELSE MESSAGEBOX(本條記錄是首記錄!) ENDIF 7.保存表單保存表單 表單設(shè)計或修改完畢要存盤,存盤方法如下: 保存表單而不退出表單設(shè)計器:選擇“文件”菜單“保存”命令,若是新創(chuàng)建的表單要輸入文件名。 保存表單并退出表單設(shè)計器:按Ctr
10、l+W鍵或單擊表單設(shè)計器的關(guān)閉按鈕。若是新創(chuàng)建的表單要輸入文件名。 表單文件保存后,將產(chǎn)生擴(kuò)展名為.SCX的表單文件及擴(kuò)展名為.SCT的表單備注文件。 8.執(zhí)行表單執(zhí)行表單 執(zhí)行表單有多種方法,具體如下: 方法1.表單設(shè)計器未關(guān)閉時,表單快捷菜單的“執(zhí)行表單”命令可運行表單。 方法2.用命令DO FORM 表單名 方法3.在項目管理器中選定要執(zhí)行的表單選定“運行”按鈕。 作業(yè):設(shè)置E:學(xué)生表為默認(rèn)目錄,完成例7.1的操作。 7.3 事件代碼編寫 VFP的事件代碼由VFP命令、屬性設(shè)置語句、方法與事件的調(diào)用語句構(gòu)成。 7.3.1 在容器分層結(jié)構(gòu)中引用對象 1.對象的容器層次 VFP的對象分為容器
11、類和控件類,VFP規(guī)定,在容器分層結(jié)構(gòu)中引用對象必須提供對象的地址,即指明它相對于容器分層結(jié)構(gòu)的關(guān)系。圖1是一種可能的容器嵌套方式。 2.對象引用規(guī)則 VFP為了方便在容器分層結(jié)構(gòu)中引用對象,提供并規(guī)定了一些關(guān)鍵字及引用格式。 (1)引用關(guān)鍵字列表(圖2) 3.引用格式引用格式 引用格式:引用關(guān)鍵字.對象名.對象的屬性、事件或方法程序 (1)引用可以是單級的。例:THIS.Caption (引用本對象的caption屬性) (2)引用也可以是多級的,但要逐級引用。例:THISFORM.command1.Caption(引用本表單的 對象command1的caption屬性) (3)控件也可引用
12、包含它的容器。例:THIS.PARENT.Caption(引用包含本對象的直接容器的caption屬性)關(guān)鍵字引用的對象THIS當(dāng)前對象本身THISFORM當(dāng)前對象所在的表單THISFORMSET 當(dāng)前對象所在的表單集PARENT當(dāng)前對象的直接容器容器嵌套層次 引用關(guān)鍵字 formset1form1command1pageframe1page17.3.2 編程設(shè)置屬性和調(diào)用方法程序 1.編程設(shè)置對象屬性 設(shè)置格式:對象名.屬性名=設(shè)置值 例7.2:設(shè)計包含一個命令按鈕的表單,單擊該命令按鈕將使它在屏幕上隨機(jī)移動。表單的背景色為藍(lán)色且運行時在屏幕上居中。 2.編程調(diào)用對象方法程序 調(diào)用格式:格式
13、:對象名.方法程序名(參數(shù)1,參數(shù)2,) (1)Cls方法 格式:OBJECT.Cls 功能:清除表單上的圖形或文本。 (2)Print方法 格式:OBJECT.Print(cText) 功能:在表單上打印字符串。 例7.3在表單上顯示九九乘法表,單擊表單則清除該乘法表。(作業(yè))(1)新建表單FORM1(2)往FORM1中添加兩個命令按鈕控件,并修改其CAPTION屬性。(3)表單的LOAD事件編碼:public a(10) &定義全局變量數(shù)組A(10)圖7.8例7.3表單(4)“產(chǎn)生隨機(jī)數(shù)”按鈕的CLICK事件編碼:temp=thisform.currentx=2thisform.c
14、urrenty=10thisform.print(10個隨機(jī)數(shù)是:)for i=1 to 10 a(i)=int(rand()*100) &產(chǎn)生10個100以內(nèi)的隨機(jī)整數(shù),放在數(shù)組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、,實現(xiàn)數(shù)組元素排序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 &清空表單上顯示的數(shù)據(jù)(7)表單的UNLOAD事件編碼:release a 7.3.3 VFP的事件序列 (了解) 1.事件序列事件序列 VFP是事件驅(qū)動的工作方式,VFP的事件或
16、者由用戶動作觸發(fā)或者由系統(tǒng)觸發(fā),用戶的一個動作可能觸發(fā)一個或多個事件。這些事件的發(fā)生有一定的次序。 例:表單界面如圖7.7,有一個命令鈕Command1與一個文本框Text1,在表單數(shù)據(jù)環(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關(guān)閉表單;Form1.text1.Valid()Fmand1.When()Form1.text1.LostFocus()Fmand1.GotFocus()Fmand1.Click()
18、Fmand1.Valid()Fmand1.When() 表單關(guān)閉和釋放對象之后,將發(fā)生的事件,其次序正好與動作1中的事件次序相反。 Form1.Destroy()Fmand1.Destroy()Form1.text1.Destroy()Form1.Unload()Form1.dataenvironment.AfterCloseTables()Form1.dataenvironment.Destroy()Form1.dataenvironment.cursor1.Destroy() 2.為事件指定代碼的位置 從上例可知,事件發(fā)生時,若沒有與之相關(guān)聯(lián)的代碼,不會發(fā)生任何操作。 3.焦點(Focus) 在上例中有許多的事件發(fā)生都與焦點有關(guān) 4.TAB鍵次序 在表單運行時,用戶可以使用TAB鍵來移動表單內(nèi)光標(biāo)的位置。所謂TAB鍵次序,就是按TAB鍵時光標(biāo)經(jīng)過表單中控件的順序。 7.4 用戶自定義屬性和方法程序(了解) 1.用戶定義屬性 針對表單和表單集對象 , VFP允許用戶向它們添加自定義的屬性,用戶自定義屬性類
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童友好視角下社區(qū)街道景觀優(yōu)化設(shè)計研究-以西安市全運村為例
- 非共沸混合工質(zhì)環(huán)狀脈動熱管強(qiáng)化傳熱實驗研究
- 心理咨詢服務(wù)技巧題庫
- 2025至2030老年旅游行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- G銀行員工績效考核體系優(yōu)化研究
- 2024年寧都技師學(xué)院招聘教師考試真題
- 論讀書的重要性:議論文作文8篇范文
- 基于TM1459和ATP的人工金屬酶構(gòu)建及其手性催化性能研究
- 一年級狀物作文荷花300字(8篇)
- 迎新春作文450字11篇
- s標(biāo)準(zhǔn)管理制度
- 新材料與制造技術(shù)的研究與創(chuàng)新
- 武漢網(wǎng)約車從業(yè)資格證考試題庫及答案
- 鋁粉交易居間協(xié)議合同
- 2023海上風(fēng)電場土建工程施工質(zhì)量檢驗標(biāo)準(zhǔn)
- 2025江西南昌市江銅產(chǎn)融社會招聘1人筆試參考題庫附帶答案詳解
- 2024年數(shù)據(jù)錄入的注意事項試題及答案
- 2025屆福建省廈門市高三下學(xué)期第二次質(zhì)檢(二模)歷史試題
- 船舶安全隱患排查
- 竹編非遺面試題及答案
- 離婚協(xié)議書 標(biāo)準(zhǔn)版電子版(2025年版)
評論
0/150
提交評論