版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章
面向?qū)ο蟪绦蛟O(shè)計(jì)主要內(nèi)容:
1、面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念
2、表單設(shè)計(jì)器及其操作方法
3、表單數(shù)據(jù)環(huán)境及其操作方法
4、各種控件共有的屬性、方法和事件
5、編程設(shè)置屬性和調(diào)用方法
6、帶參事件及事件的觸發(fā)順序
7、用戶自定義屬性和方法
8、表單向?qū)?/p>
重點(diǎn):
1、面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念
2、表單設(shè)計(jì)器及其操作方法
3、事件的觸發(fā)順序
4、各種控件共有的屬性、方法和事件
難點(diǎn):
1、面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念
2、事件的觸發(fā)順序及觸發(fā)方式
3、用戶自定義屬性和方法
要求:
1、掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念
2、學(xué)會(huì)使用表單設(shè)計(jì)器設(shè)計(jì)表單
3、掌握表單數(shù)據(jù)環(huán)境的概念及其操作方法
4、掌握各種控件共有的屬性、方法和事件
5、掌握編程設(shè)置屬性和調(diào)用方法的方法
6、了解帶參事件代碼的編寫、掌握事件的觸發(fā)順序
7、了解用戶自定義屬性和方法
8、學(xué)會(huì)使用表單向?qū)?chuàng)建表單,并進(jìn)一步使用表單設(shè)計(jì)
器進(jìn)行修改的方法
7.1面向?qū)ο蟪绦蛟O(shè)計(jì)基本概念
1.類類是一類相似對(duì)象的抽象,是用來(lái)創(chuàng)建對(duì)象的模板。
2.對(duì)象:是類的實(shí)例,準(zhǔn)確地講,對(duì)象是一個(gè)軟件實(shí)體。
VFP中,常用的基類對(duì)象共有21個(gè),分為控件類與容器類兩種。(1)控件:是表單上顯示數(shù)據(jù)和執(zhí)行操作的基本對(duì)象,例如:命令按鈕、文本框、標(biāo)簽等。(2)容器:是可以容納其他對(duì)象的對(duì)象。例如:表單集、表單、選項(xiàng)按鈕組、命令按鈕組等。
3.屬性對(duì)象的屬性用來(lái)表示對(duì)象的特征、狀態(tài)。
4.方法對(duì)象的方法是對(duì)象內(nèi)定的通用過(guò)程,能使對(duì)象執(zhí)行一個(gè)操作。
5.事件事件是一種預(yù)先定義的好的特定動(dòng)作,可由用戶或系統(tǒng)觸發(fā)。
6.事件驅(qū)動(dòng)的工作方式某事件一旦被觸發(fā),系統(tǒng)就去執(zhí)行該事件對(duì)應(yīng)的過(guò)程,當(dāng)然事件過(guò)程的代碼需要用戶事先編寫好;過(guò)程執(zhí)行完畢,則系統(tǒng)又處于等待狀態(tài)。容器能包含的對(duì)象表單集表單、工具欄表單頁(yè)框、表格、任何控件頁(yè)框頁(yè)面頁(yè)面表格、任何控件表格表格列表格列標(biāo)頭對(duì)象、除表單、表單集、工具欄、計(jì)時(shí)器和列對(duì)象以外的對(duì)象選項(xiàng)按鈕組選項(xiàng)按鈕命令按鈕組命令按鈕工具欄任何控件、頁(yè)框、容器Container容器任何控件容器及包含的對(duì)象
事件觸發(fā)時(shí)機(jī)事件觸發(fā)時(shí)機(jī)Load創(chuàng)建對(duì)象前MouseUp釋放鼠標(biāo)鍵時(shí)Init創(chuàng)建對(duì)象時(shí)MouseDown按下鼠標(biāo)鍵時(shí)Activate對(duì)象激活時(shí)MouseMove拖動(dòng)鼠標(biāo)時(shí)Gotfocus對(duì)象得到焦點(diǎn)時(shí)KeyPress按下并釋放某鍵盤鍵時(shí)Click單擊鼠標(biāo)左鍵時(shí)Valid對(duì)象失去焦點(diǎn)前DblClick雙擊鼠標(biāo)左鍵時(shí)LostFocus對(duì)象失去焦點(diǎn)時(shí)InteractiveChange當(dāng)用戶通過(guò)鍵盤或鼠標(biāo)改變一個(gè)控件的值時(shí)Unload釋放對(duì)象時(shí)
Vfp部分常見事件列表
7.2
表單設(shè)計(jì)器7.2.1表單設(shè)計(jì)器工具
1.表單設(shè)計(jì)器的功能與特點(diǎn):(1)創(chuàng)建表單及表單上的各個(gè)對(duì)象。(2)修改已有的表單。(3)操作方便與可視化。2.表單設(shè)計(jì)工具可供表單設(shè)計(jì)使用的各要素與工具:(1)表單設(shè)計(jì)器窗口與表單窗口:多數(shù)設(shè)計(jì)工作將在表單窗口中完成。(2)屬性窗口:可以完成對(duì)象屬性的設(shè)置與修改。(3)代碼編輯窗口:供用戶編寫事件或方法的程序代碼。(4)各種工具欄(5)數(shù)據(jù)環(huán)境設(shè)計(jì)器窗口:為表單創(chuàng)建或修改數(shù)據(jù)環(huán)境。(6)快捷菜單:不同對(duì)象有不同快捷菜單幫助完成經(jīng)常性工作。(7)動(dòng)態(tài)菜單表單設(shè)計(jì)器
7.2.2表單的創(chuàng)建與表單設(shè)計(jì)器的操作
表單的創(chuàng)建一般步驟為:打開表單設(shè)計(jì)器→設(shè)置數(shù)據(jù)環(huán)境→添加對(duì)象→調(diào)整對(duì)象的位置→設(shè)置對(duì)象屬性→編寫事件代碼→保存表單→執(zhí)行表單。例:為STAFF表創(chuàng)建一如圖表單,以實(shí)現(xiàn)對(duì)表中記錄的逐條瀏覽與編輯。教師表瀏覽
1.打開表單設(shè)計(jì)器2.設(shè)置數(shù)據(jù)環(huán)境(1)數(shù)據(jù)環(huán)境概念數(shù)據(jù)環(huán)境泛指定義表單或表單集使用的數(shù)據(jù)源,可以是表、視圖和表間關(guān)系。(2)數(shù)據(jù)環(huán)境設(shè)計(jì)器打開打開數(shù)據(jù)環(huán)境設(shè)計(jì)器可使用表單快捷菜單的“數(shù)據(jù)環(huán)境”命令,或選定“顯示”菜單的數(shù)據(jù)環(huán)境命令。(3)數(shù)據(jù)環(huán)境設(shè)計(jì)器快捷菜單與數(shù)據(jù)環(huán)境菜單數(shù)據(jù)環(huán)境菜單提供了幾個(gè)命令,具有查看和修改數(shù)據(jù)環(huán)境的功能①添加命令②移去命令③瀏覽命令例題數(shù)據(jù)環(huán)境的設(shè)置:①選定表單快捷菜單的“數(shù)據(jù)環(huán)境”命令以打開數(shù)據(jù)環(huán)境設(shè)計(jì)器。②選定“添加表或視圖”對(duì)話框的STAFF表,選定“添加”按鈕。
3.對(duì)象的添加在VFP中實(shí)現(xiàn)對(duì)象創(chuàng)建的主要工具是表單控件工具欄。(1)表單控件工具欄(2)對(duì)象的創(chuàng)建(3)字段映象字段映象:指當(dāng)用戶打開數(shù)據(jù)環(huán)境設(shè)計(jì)器窗口,選定表中的任一字段,將其拖至表單窗口中釋放,將在對(duì)應(yīng)位置產(chǎn)生兩個(gè)對(duì)象,一個(gè)是標(biāo)簽對(duì)象,用來(lái)顯示字段名或字段標(biāo)題;另一個(gè)對(duì)象類型則取決定于字段類型,字符型、數(shù)值型、日期型等用文本框?qū)ο蟊硎?,邏輯型用?fù)選框表示,備注型用編輯框表示,通用型用ActiveX綁定控件表示。而且該對(duì)象與字段數(shù)據(jù)自動(dòng)實(shí)現(xiàn)數(shù)據(jù)綁定。所謂數(shù)據(jù)綁定是指將對(duì)象的值與某個(gè)數(shù)據(jù)源聯(lián)系在一起。這樣對(duì)象的值便與數(shù)據(jù)源的值相一致,當(dāng)對(duì)象的值被修改也就意味字段的值被修改,反之也一樣。
例題對(duì)象的添加:①利用字段映象功能往表單逐個(gè)添加字段對(duì)象。②單擊表單控件工具欄的命令鈕按鈕,單擊表單的對(duì)應(yīng)位置,創(chuàng)建Command1對(duì)象,依照此方法再創(chuàng)建。(4)四個(gè)輔助按鈕①選定對(duì)象按鈕②按鈕鎖定按鈕③查看類④生成器鎖定按鈕表單控件工具欄選定對(duì)象文本框命令鈕選項(xiàng)按鈕組組合框圖象Activex綁定控件(oleboundcontrol)分隔符按鈕鎖定微調(diào)控件頁(yè)框形狀查看類標(biāo)簽編輯框命令按鈕組復(fù)選框列表框表格計(jì)時(shí)器Activex控件(olecontrol)線條容器超級(jí)鏈接生成器鎖pg定定
4.調(diào)整控件的位置5.設(shè)置對(duì)象的屬性
屬性窗口如圖所示,包括對(duì)象組合框、選項(xiàng)卡、屬性設(shè)置框、屬性列表框、屬性說(shuō)明信息。屬性窗口的組成屬性列表框?qū)傩栽O(shè)置框選項(xiàng)卡對(duì)象組合框?qū)傩哉f(shuō)明信息
6.事件代碼的編寫編寫事件代碼先要打開代碼編輯窗口,打開某對(duì)象代碼編輯窗口的方法有很多種,具體如下:方法1:雙擊該對(duì)象。方法2:選定該對(duì)象的快捷菜單的“代碼”命令。方法3:選定“顯示”菜單的“代碼”命令。代碼編輯窗口中包含兩個(gè)組合框和一個(gè)窗口。例題事件代碼編寫:Command1的Click事件代碼編寫如下:
IFRECNO()>1 SKIP-1 THISFORM.REFRESHELSE MESSAGEBOX("本條記錄是首記錄!")
ENDIF
7.保存表單表單設(shè)計(jì)或修改完畢要存盤,存盤方法如下:保存表單而不退出表單設(shè)計(jì)器:選擇“文件”菜單“保存”命令,若是新創(chuàng)建的表單要輸入文件名。保存表單并退出表單設(shè)計(jì)器:按Ctrl+W鍵或單擊表單設(shè)計(jì)器的關(guān)閉按鈕。若是新創(chuàng)建的表單要輸入文件名。表單文件保存后,將產(chǎn)生擴(kuò)展名為.SCX的表單文件及擴(kuò)展名為.SCT的表單備注文件。8.執(zhí)行表單執(zhí)行表單有多種方法,具體如下:方法1.表單設(shè)計(jì)器未關(guān)閉時(shí),表單快捷菜單的“執(zhí)行表單”命令可運(yùn)行表單。方法2.用命令DOFORM表單名方法3.在項(xiàng)目管理器中選定要執(zhí)行的表單→選定“運(yùn)行”按鈕。7.3事件代碼編寫
VFP的事件代碼由VFP命令、屬性設(shè)置語(yǔ)句、方法與事件的調(diào)用語(yǔ)句構(gòu)成。7.3.1在容器分層結(jié)構(gòu)中引用對(duì)象
1.對(duì)象的容器層次
VFP的對(duì)象分為容器類和控件類,VFP規(guī)定,在容器分層結(jié)構(gòu)中引用對(duì)象必須提供對(duì)象的地址,即指明它相對(duì)于容器分層結(jié)構(gòu)的關(guān)系。圖1是一種可能的嵌套。2.對(duì)象相對(duì)引用規(guī)則
VFP為了方便在容器分層結(jié)構(gòu)中引用對(duì)象,提供并規(guī)定了一些關(guān)鍵字及引用格式。(1)引用關(guān)鍵字(圖2)3.引用格式引用格式:引用關(guān)鍵字.對(duì)象名.對(duì)象的屬性、事件或方法程序(1)引用可以是單級(jí)的。例:THIS.Caption(2)引用也可以是多級(jí)的,但要逐級(jí)引用。例:THISFORM.Text1.Caption(3)控件也可引用包含它的容器。例:THIS.PARENT.Caption關(guān)鍵字引用THIS引用該對(duì)象THISFORM引用包含該對(duì)象的表單THISFORMSET引用包含該對(duì)象的表單集PARENT引用包含該對(duì)象的直接容器容器嵌套層次
引用關(guān)鍵字
7.3.2編程設(shè)置屬性和調(diào)用方法程序
1.編程設(shè)置對(duì)象屬性設(shè)置格式:對(duì)象名.屬性名=設(shè)置值例:設(shè)計(jì)如圖所示表單,單擊“值交換”命令按鈕可實(shí)現(xiàn)兩文本框內(nèi)值的交換,單擊“背景交換”命令按鈕可實(shí)現(xiàn)兩文本框背景顏色的交換。表單
(1)創(chuàng)建表單:FORM1(2)添加控件:往FORM1中添加兩個(gè)標(biāo)簽控件、兩個(gè)文框控件、兩個(gè)命令按鈕控件。(3)按表所示為各控件對(duì)象設(shè)置屬性。(4)編寫命令按鈕的事件代碼(5)存盤并運(yùn)行。對(duì)象名屬性屬性值說(shuō)明LABEL1CAPTIONA=指定標(biāo)簽顯示文本LABEL1CAPTIONB=指定標(biāo)簽顯示文本TEXT1VALUE12345為TEXT1指定值BACKCOLORRGB(255,0,0)為TEXT1指定背景色TEXT2VALUEABCDEBACKCOLORRGB(0,255,255)COMMAND1CAPTION值交換指定命令鈕標(biāo)題COMMAND2CAPTION背景交換指定命令鈕標(biāo)題
2.編程調(diào)用對(duì)象方法程序調(diào)用格式:格式:對(duì)象名.方法程序名[(參數(shù)1[,參數(shù)2[,……]])](1)Cls方法格式:OBJECT.Cls
功能:清除表單上的圖形或文本。(2)Print方法格式:OBJECT.Print[(cText)]
功能:在表單上打印字符串。例:建立如圖7.8所示表單,單擊“產(chǎn)生隨機(jī)數(shù)”按鈕,會(huì)在表單上顯示10個(gè)0至100之間的隨機(jī)整數(shù),單擊“排序”按鈕,將在表單上顯示對(duì)這10個(gè)數(shù)的排序結(jié)果,單擊表單空白處則清除表單上顯示的數(shù)據(jù)。
(1)新建表單FORM1(2)往FORM1中添加兩個(gè)命令按鈕控件,并修改其CAPTION屬性。(3)表單的LOAD事件編碼:publica(10)&&定義全局變量數(shù)組A(10)圖7.8例7.3表單(4)“產(chǎn)生隨機(jī)數(shù)”按鈕的CLICK事件編碼:temp=""thisform.currentx=2thisform.currenty=10thisform.print("10個(gè)隨機(jī)數(shù)是:")fori=1to10a(i)=int(rand()*100)&&產(chǎn)生10個(gè)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("排序如下:")fori=1to9&&利用雙重循環(huán),實(shí)現(xiàn)數(shù)組元素排序
forj=i+1to10 ifa(i)>a(j) p=a(i)a(i)=a(j) a(j)=p
endif endforendforfori=1to10temp=temp+str(a(i),3)+","endforthisform.currentx=4thisform.currenty=70thisform.print(temp)(6)表單的CLICK事件編碼:thisform.cls&&清空表單上顯示的數(shù)據(jù)(7)表單的UNLOAD事件編碼:releasea7.3.3VFP的事件序列
1.事件序列
VFP是事件驅(qū)動(dòng)的工作方式,VFP的事件或者由用戶動(dòng)作觸發(fā)或者由系統(tǒng)觸發(fā),用戶的一個(gè)動(dòng)作可能觸發(fā)一個(gè)或多個(gè)事件。這些事件的發(fā)生有一定的次序。例:表單界面如圖7.9,有一個(gè)命令鈕Command1與一個(gè)文本框Text1,在表單數(shù)據(jù)環(huán)境中有表STAFF.DBF,用戶的動(dòng)作如下動(dòng)作1:運(yùn)行表單Form1;Form1.Load()Form1.dataenvironment.cursor1.Init()Form1.dataenvironment.Init()Form1.text1.Init()Fmand1.Init()Form1.Init()Form1.Activate()Form1.text1.When()Form1.GotFocus()Form1.text1.GotFocus()Form1.Activate()動(dòng)作2:在Text1中輸入字符AB;Form1.text1.KeyPress(65,0)&&即AForm1.text1.InteractiveChange()Form1.text1.KeyPress(66,0)&&即BForm1.text1.InteractiveChange()動(dòng)作3:用戶單擊Command1關(guān)閉表單;Form1.text1.Valid()Fmand1.When()Form1.text1.LostFocus()Fmand1.GotFocus()Fmand1.Click()Fmand1.Valid()Fmand1.When()表單關(guān)閉和釋放對(duì)象之后,將發(fā)生的事件,其次序正好與動(dòng)作1中的事件次序相反。Form1.Destroy()Fmand1.Destroy()Form1.text1.Destroy()Form1.Unload()Form1.dataenvironment.AfterCloseTables()Form1.dataenvironment.Destroy()Form1.dataenvironment.cursor1.Destroy()
2.為事件指定代碼的位置從上例可知,事件發(fā)生時(shí),若沒有與之相關(guān)聯(lián)的代碼,不會(huì)發(fā)生任何操作。3.焦點(diǎn)(Focus)
在上例中有許多的事件發(fā)生都與焦點(diǎn)有關(guān)4.TAB鍵次序在表單運(yùn)行時(shí),用戶可以使用TAB鍵來(lái)移動(dòng)表單內(nèi)光標(biāo)的位置。所謂TAB鍵次序,就是按TAB鍵時(shí)光標(biāo)經(jīng)過(guò)表單中控件的順序。
7.4用戶自定義屬性和方法程序
7.4.1用戶定義屬性針對(duì)表單和表單集對(duì)象,VFP允許用戶向它們添加自定義的屬性,用戶自定義屬
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水資源調(diào)配優(yōu)化-洞察分析
- 《創(chuàng)新產(chǎn)業(yè)培訓(xùn)》課件
- 信任機(jī)制評(píng)估體系構(gòu)建-洞察分析
- 特種機(jī)器人應(yīng)用場(chǎng)景拓展-洞察分析
- 農(nóng)村有病人低保申請(qǐng)書范文(10篇)
- 眾數(shù)中位數(shù)課件
- 從知識(shí)到能力的商業(yè)培訓(xùn)課程設(shè)計(jì)實(shí)踐研究
- 制造業(yè)智能化升級(jí)的商業(yè)模式創(chuàng)新
- 兒童意外傷害預(yù)防與家庭教育案例分析
- 化工行業(yè)助理崗位職責(zé)概括
- 起世經(jīng)白話解-
- 新形勢(shì)下我國(guó)保險(xiǎn)市場(chǎng)營(yíng)銷的現(xiàn)狀、問(wèn)題及對(duì)策
- 完整版焦慮抑郁自評(píng)量表SASSDS
- ISO14001內(nèi)審檢查表
- 五金件成品檢驗(yàn)報(bào)告
- CDN基礎(chǔ)介紹PPT課件
- SPC八大控制圖自動(dòng)生成器v1.01
- 新形勢(shì)下加強(qiáng)市場(chǎng)監(jiān)管局檔案管理工作的策略
- 上海旅游資源基本類型及其旅游區(qū)布局特點(diǎn)(共5頁(yè))
- 六一湯_醫(yī)方類聚卷一○二引_御醫(yī)撮要_減法方劑樹
- 基于四層電梯的PLC控制系統(tǒng)設(shè)計(jì)83892727
評(píng)論
0/150
提交評(píng)論