《Visual FoxPro程序設(shè)計(jì)》課件第7章表單設(shè)計(jì)與應(yīng)用_第1頁(yè)
《Visual FoxPro程序設(shè)計(jì)》課件第7章表單設(shè)計(jì)與應(yīng)用_第2頁(yè)
《Visual FoxPro程序設(shè)計(jì)》課件第7章表單設(shè)計(jì)與應(yīng)用_第3頁(yè)
《Visual FoxPro程序設(shè)計(jì)》課件第7章表單設(shè)計(jì)與應(yīng)用_第4頁(yè)
《Visual FoxPro程序設(shè)計(jì)》課件第7章表單設(shè)計(jì)與應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本章主要內(nèi)容7.1面向?qū)ο蟮母拍?.2VISUALFOXPRO的類(lèi)7.3創(chuàng)建和管理表單7.4常用表單控件7.1面向?qū)ο蟮母拍?、對(duì)象(Object)客觀世界里的任何實(shí)體都可以被看作是對(duì)象。對(duì)象可以是具體的物,也可以指某些概念。從編程的角度來(lái)看,對(duì)象是一種將數(shù)據(jù)和操作過(guò)程結(jié)合在一起的數(shù)據(jù)結(jié)構(gòu),或者是一種具有屬性(數(shù)據(jù))和方法(過(guò)程和函數(shù))的集合體。事實(shí)上程序中的對(duì)象就是對(duì)客觀世界中對(duì)象的一種抽象描述(1)對(duì)象屬性:屬性用來(lái)表示對(duì)象的狀態(tài)。(2)對(duì)象方法:對(duì)象方法是描述對(duì)象行為的過(guò)程。

7.2VISUALFOXPRO的類(lèi)1.類(lèi)類(lèi)是對(duì)一類(lèi)相似對(duì)象的性質(zhì)描述,這些對(duì)象具有相同種類(lèi)的屬性以及方法

2.子類(lèi)與繼承

在面向?qū)ο蟮姆椒ɡ?,繼承是指在基于現(xiàn)有的類(lèi)創(chuàng)建新類(lèi)時(shí),新類(lèi)繼承了現(xiàn)有類(lèi)里的方法和屬性。此外,可以為新類(lèi)添加新的方法和屬性。我們把新類(lèi)稱(chēng)為現(xiàn)有類(lèi)的子類(lèi),而把現(xiàn)有類(lèi)稱(chēng)為新類(lèi)的父類(lèi)。

一個(gè)子類(lèi)的成員一般包括:(1)從其父類(lèi)繼承的屬性和方法。(2)由子類(lèi)自己定義的屬性和方法。3.VisualFoxPro基類(lèi)

VisualFoxPro基類(lèi)是系統(tǒng)本身內(nèi)含的,并不存放在某個(gè)類(lèi)庫(kù)中。用戶(hù)可以基于基類(lèi)生成所需要的對(duì)象,也可以擴(kuò)展基類(lèi)創(chuàng)建自己的子類(lèi)VisualFoxpro基類(lèi)列表類(lèi)名含義類(lèi)名含義ActiveDoc活動(dòng)文檔Label標(biāo)簽CheckBox復(fù)選框Line線條Column(表格)列Listbox列表框ComboBox組合框OlecontrolOLE容器控件CommandButton命令按鈕OleboundcontrolOLE綁定控件CommandGroup命令按鈕組OptionButton選項(xiàng)按鈕Container容器Optiongroup選項(xiàng)按鈕組Contorl控件Page頁(yè)Custom定制PageFrame頁(yè)框EditBox編輯框ProjectHook項(xiàng)目掛鉤Form表單Separator分隔符FormSet表單集Shape圖形Grid表格Spinner微調(diào)控件Header(列)標(biāo)頭TextBox文本框HyperLink超級(jí)鏈接Timer定時(shí)器Image圖象ToolBar工具欄7.3創(chuàng)建和管理表單

表單(Form)是VisualFoxPro提供的用于建立應(yīng)用程序界面的最主要的工具之一。表單相當(dāng)于WINDOWS應(yīng)用程序的窗口表單可以屬于某個(gè)項(xiàng)目,也可以游離于任何項(xiàng)目之外,它是一個(gè)特殊的磁盤(pán)文件,其擴(kuò)展名為.scx。在項(xiàng)目管理器中創(chuàng)建的表單自動(dòng)隸屬于該項(xiàng)目。創(chuàng)建表單一般有兩種途徑:使用表單向?qū)?chuàng)建簡(jiǎn)易的數(shù)據(jù)表單;使用表單設(shè)計(jì)器創(chuàng)建或修改任何形式的表單。1、使用表單向?qū)?dòng)表單向?qū)в幸韵滤姆N途徑:(1)打開(kāi)“項(xiàng)目管理器”,選擇“文檔”選項(xiàng)卡,從中選擇“表單”。然后單擊“新建”按鈕。在彈出的“新建表單”對(duì)話框中單擊“表單向?qū)А卑粹o。(2)在系統(tǒng)菜單中選擇【文件】|【新建】命令,或者單擊工具欄上的“新建”按鈕,打開(kāi)“新建”對(duì)話框,在文件類(lèi)型欄中選擇“表單”。然后單擊“向?qū)А卑粹o。(3)在系統(tǒng)菜單中選擇【工具】|【向?qū)А縷【表單】命令。(4)直接單擊常用工具欄上的“表單向?qū)А眻D標(biāo)按鈕。按步驟依照“表單向?qū)А蓖瓿梢粚?duì)多表表單的設(shè)計(jì)2、使用表單設(shè)計(jì)器啟動(dòng)表單設(shè)計(jì)器有多種方法:●菜單方法:若是新建表單,在系統(tǒng)菜單中選擇【文件】|【新建】,在文件類(lèi)型對(duì)話框中選擇“表單”,單擊“新建文件”按鈕;若是修改表單,則單擊【文件】|【打開(kāi)】,在打開(kāi)對(duì)話框中選擇要修改的表單文件名,單擊“打開(kāi)”按鈕?!衩罘椒ǎ涸贑OMMAND窗口輸入如下命令:

CREATEFORM<文件名>MODIFYFORM<文件名>●在項(xiàng)目管理器中,先選擇文檔標(biāo)簽,然后選擇表單,單擊新建按鈕。若是修改表單,選擇要修改的表單,單擊“修改”按鈕。3、表單設(shè)計(jì)器環(huán)境介紹(1)設(shè)計(jì)器窗口

“表單設(shè)計(jì)器”窗口內(nèi)包含正在設(shè)計(jì)的表單。用戶(hù)可在表單窗口中可視化地添加和修改控件、改變控件布局,表單窗口只能在“表單設(shè)計(jì)器”窗口內(nèi)移動(dòng)。以新建方式啟動(dòng)表單設(shè)計(jì)器時(shí),系統(tǒng)將默認(rèn)為用戶(hù)創(chuàng)建一個(gè)空白表單,如圖左側(cè)部分。(2)屬性窗口設(shè)計(jì)表單的絕大多數(shù)工作都是在屬性窗口中完成的,因此用戶(hù)必須熟悉屬性窗口的用法。如果在表單設(shè)計(jì)器中沒(méi)有出現(xiàn)屬性窗口,可在系統(tǒng)菜單中單擊【顯示】|【屬性】,屬性窗口如圖所示。頁(yè)框選項(xiàng)卡“對(duì)象”下拉列表框圖屬性設(shè)置框(3)表單控件工具欄

設(shè)計(jì)表單的主要任務(wù)就是利用“表單控件”設(shè)計(jì)交互式用戶(hù)界面。“表單控件”工具欄是表單設(shè)計(jì)的主要工具。默認(rèn)包含21個(gè)控件、4個(gè)輔助按鈕,如圖所示

(4)表單設(shè)計(jì)器工具欄打開(kāi)“表單設(shè)計(jì)器”時(shí),主窗口中會(huì)自動(dòng)出現(xiàn)“表單設(shè)計(jì)器”工具欄4、數(shù)據(jù)環(huán)境1)打開(kāi)數(shù)據(jù)環(huán)境設(shè)計(jì)器2)數(shù)據(jù)環(huán)境的常用屬性常用的兩個(gè)數(shù)據(jù)環(huán)境屬性是AutoOpenTables和AutoCloseTables5、向數(shù)據(jù)環(huán)境添加表或視圖在數(shù)據(jù)環(huán)境設(shè)計(jì)器環(huán)境下,按下列方法向數(shù)據(jù)環(huán)境添加表或視圖:在系統(tǒng)菜單中選擇【數(shù)據(jù)環(huán)境】|【添加】命令,或右鍵單擊“數(shù)據(jù)環(huán)境設(shè)計(jì)器窗口”,然后在彈出的快捷菜單中選擇【添加】命令,打開(kāi)“添加表或視圖”對(duì)話框,如圖所示。如果數(shù)據(jù)環(huán)境原來(lái)是空的,那么在打開(kāi)數(shù)據(jù)環(huán)境設(shè)計(jì)器時(shí),該對(duì)話框就會(huì)自動(dòng)出現(xiàn)。

選擇所需表,單擊“添加”6、常用的關(guān)系屬性有:RelationalExpr:用于指定基于主表的關(guān)聯(lián)表達(dá)式。ParentAlias:用于指明主表的別名。ChildAlias:用于指明子表的別名。ChildOrder:用于指定與關(guān)聯(lián)表達(dá)式相匹配的索引。OneToMany:用于指明關(guān)系是否為一對(duì)多關(guān)系,該屬性默認(rèn)為“.F.”,如果關(guān)系為“一對(duì)多關(guān)系”,該屬性一定要設(shè)置為“.T.”。7、表單常用方法(1)Relase方法:將表單從內(nèi)存中釋放

ThisForm.Release(2)Refresh方法:刷新表單(3)Show方法:顯示表單(4)Hide方法:隱藏表單8、表單常用事件(1)Init事件:在表單創(chuàng)建時(shí)引發(fā).(2)Destroy事件:在表單對(duì)象釋放時(shí)引發(fā)。(3)RightClick事件:用鼠標(biāo)右鍵單擊表單時(shí)引發(fā).9、添加新的屬性和方法1)創(chuàng)建新屬性向表單添加新屬性的步驟如下:(1)在“名稱(chēng)”框中輸入屬性名稱(chēng)(2)有選擇地在“說(shuō)明”框中輸入新建屬性的說(shuō)明信息10、運(yùn)行表單在設(shè)計(jì)時(shí)可采用以下方法運(yùn)行表單文件:(1)在項(xiàng)目管理器窗口中,選擇要運(yùn)行的表單,然后單擊“運(yùn)行”按鈕。(2)在表單設(shè)計(jì)器窗口中,在系統(tǒng)菜單中選擇【表單】|【執(zhí)行表單】命令,或單擊常用工具欄上的“運(yùn)行”按鈕。(3)在系統(tǒng)菜單中選擇【程序】|【運(yùn)行】命令,打開(kāi)“運(yùn)行”對(duì)話(4)在命令窗口輸入命令:DOFORM<表單文件名>。11、常用控件的公共屬性name:控件的名稱(chēng),它是代碼中訪問(wèn)控件的標(biāo)識(shí)(表單或表單集除外)。Fontname:字體名。Fontbold:字體樣式為粗體。Fontsize:字體大小。Fontitalic:字體樣式為斜體。Forecolor:前景色。Height:控件的高度Width:控件的寬度??丶母叨群涂丶膶挾?,也可在設(shè)計(jì)時(shí)通過(guò)鼠標(biāo)拖曳進(jìn)行可視化調(diào)整。Visible:控件是否顯示。Enable:控件運(yùn)行時(shí)是否有效。如果為.T.,則表示控件有效,否則運(yùn)行時(shí)控件不可使用。7.4常用表單控件一、標(biāo)簽(Label)控件1.標(biāo)簽控件的功能標(biāo)簽主要用于顯示固定的文本信息。2.標(biāo)簽控件常用屬性caption:指定標(biāo)簽的顯示文本。可以在設(shè)計(jì)時(shí)設(shè)置,也可以在程序運(yùn)時(shí)設(shè)置或修改。forecolor:設(shè)置標(biāo)題的字體顏色。backstyle:設(shè)置標(biāo)簽的背景是否透明,0透明,1不透明,默認(rèn)為不透明。name:標(biāo)簽對(duì)象的名稱(chēng),是程序中訪問(wèn)標(biāo)簽對(duì)象的標(biāo)識(shí)。Alignment:指定標(biāo)題控件中顯示的對(duì)齊方式。7.4常用表單控件二、命令按鈕(CommandButton)控件1.命令按鈕控件功能命令按鈕典型地用來(lái)啟動(dòng)某個(gè)事件代碼、完成特定功能,如關(guān)閉表單、移動(dòng)記錄指針、打印報(bào)表等2.命令按鈕控件常用屬性

Default:命令按鈕的Default屬性默認(rèn)值為.F.,Cancel:命令按鈕的Cancel屬性默認(rèn)值為.F.Caption:設(shè)置按鈕的標(biāo)題。Enable:確定按鈕是否有效,如果按鈕的屬性Enable為.F.,單擊該按鈕不會(huì)引發(fā)該按鈕的單擊事件。對(duì)命令按鈕的使用最重要的是編寫(xiě)Click事件代碼。三、命令按鈕組(CommandGroup)控件1.命令按鈕組常用屬性Buttoncount:命令按鈕組中命令按鈕的數(shù)目。Value:默認(rèn)情況下,命令按鈕組中的各個(gè)按鈕被自動(dòng)賦予了一個(gè)編號(hào),如1,2,3,Buttons:用于存取命令按鈕組中每個(gè)命令按鈕的數(shù)組,代碼中可以通過(guò)該數(shù)組訪問(wèn)命令按鈕組中的各個(gè)按鈕.

四、文本框(TextBox)控件1.文本框控件的功能:(1)用于顯示或接收單行文本信息(不設(shè)置ControlSource屬性),默認(rèn)輸入類(lèi)型為字符型,最大長(zhǎng)度為256個(gè)字符。(2)用于顯示或編輯對(duì)應(yīng)變量或字段的值(設(shè)置ControlSource屬性為已有變量或字段名)。2.文本框控件常用屬性ControlSource:設(shè)置文本框的數(shù)據(jù)來(lái)源。Value:保存文本框的當(dāng)前內(nèi)容,PassWordChar:設(shè)置輸入口令時(shí)顯示的字符。Readonly:確定文本框是否為只讀,為“.T.”時(shí),文本框的值不可修改。六、編輯框(EditBox)控件1.編輯框控件的功能2.編輯框常用屬性ControlSource:設(shè)置編輯框的數(shù)據(jù)源,一般為數(shù)據(jù)表的備注字段。Value:保存編輯框中的內(nèi)容,可以通過(guò)該屬性來(lái)訪問(wèn)編輯框中的內(nèi)容。SelText:返回用戶(hù)在編輯區(qū)內(nèi)選定的文本,如果沒(méi)有選定任何文本,則返回空串。SelLength:返回用戶(hù)在文本輸入?yún)^(qū)中所選定字符的數(shù)目。Readonly:確定用戶(hù)是否能修改編輯框中的內(nèi)容。

Scroolbars:指定編輯框是否具有滾動(dòng)條,當(dāng)屬性值為0時(shí),編輯框沒(méi)有滾動(dòng)條,當(dāng)屬性值為2(默認(rèn)值)時(shí),編輯框包含垂直滾動(dòng)條。七、復(fù)選框(CheckBox)控件1.復(fù)選框的功能2.復(fù)選框常用屬性Value:用來(lái)指明復(fù)選框的當(dāng)前狀態(tài),如下表

ControlSource屬性:用于指定復(fù)選框的數(shù)據(jù)源

屬性值說(shuō)明0或.F.(默認(rèn)值),未被選中1或.T.被選中>=2或null不確定,只在代碼中有效八、選項(xiàng)組(OptionGroup)控件1.選項(xiàng)組控件的功能2.選項(xiàng)組常用屬性

ButtonCount:指定選項(xiàng)組中選項(xiàng)按鈕的數(shù)目。

Value:用于指定選項(xiàng)組中哪個(gè)選項(xiàng)按鈕被選中。ControlSource:指定選項(xiàng)組數(shù)據(jù)源。

Buttons:用于存取選項(xiàng)組中每個(gè)選項(xiàng)的數(shù)組?!纠棵畎粹o組、選項(xiàng)組、復(fù)選框、編輯框應(yīng)用示例,按圖設(shè)計(jì)一個(gè)表單,要求:用戶(hù)單擊確定按鈕時(shí),在編輯框中顯示用戶(hù)對(duì)選項(xiàng)組和復(fù)選框的選擇。并將表單保存為我的表單編寫(xiě)事件代碼選擇命令按鈕組,在屬性窗口中雙擊“CLICKEVENT”屬性,系統(tǒng)會(huì)打開(kāi)代碼編寫(xiě)器,在代碼編寫(xiě)器窗口為“CLICKEVENT”事件輸入如下代碼:ifmandgroup1.value=2thisform.releaseelsecstr="你所在城市"+chr(13);+thisform.optiongroup1.buttons[thisform.optiongroup1.value].caption+chr(13)cstr=cstr+"你的愛(ài)好"+chr(13)ifthisform.check1.value=1cstr=cstr+thisform.check1.captionendififthisform.check2.value=1cstr=cstr+thisform.check2.captionendififthisform.check3.value=1cstr=cstr+thisform.check3.captionendifthisform.edit1.value=cstrendif九、列表框(ListBox)控件1.列表框的功能列表框提供一組條目(數(shù)據(jù)項(xiàng)),用戶(hù)可以從中選擇一個(gè)或多個(gè)條目,一般情況下,列表框顯示其中的若干條目,用戶(hù)可以通過(guò)滾動(dòng)條瀏覽其他條目。2.選項(xiàng)組常用屬性

RowSourceType屬性與RowSource屬性:RowSourceType屬性指明列表框數(shù)據(jù)源的類(lèi)型,RowSource屬性指定列表框的數(shù)據(jù)源,兩者常用的搭配如表List屬性:用以存取列表框中數(shù)據(jù)條目的字符串?dāng)?shù)組。

ListCount屬性:列表框中數(shù)據(jù)條目的數(shù)目

ColumnCount屬性:指定列表框的列數(shù)

Value屬性:返回列表框中被選中的條目

ControlSource屬性:該屬性在列表框中的用法與在其他控件中的用法有所不同,在這里,用戶(hù)可以通過(guò)該屬性指定一個(gè)字段或變量用以保存用戶(hù)從列表框中選擇的結(jié)果

Selected屬性:該屬性是一個(gè)邏輯型數(shù)組,第N個(gè)數(shù)組元素代表第N個(gè)數(shù)據(jù)項(xiàng)是否為選定狀態(tài)

MultiSelect屬性:指定用戶(hù)能否在列表框控件內(nèi)進(jìn)行多重選定操作步驟:①按圖在表單中加入二個(gè)列表框、二個(gè)標(biāo)簽、二個(gè)命令按鈕。②在表單的INIT事件中加入如下代碼:thisform.list1.value=0thisform.list2.value=0opendatabasestudentusestudfori=1tofcount()thisform.list1.additem(fields(i))nextclosedatabase③在左箭頭按鈕(COMMAND1)的CLICK事件中加入如下代碼:thisform.list2.addlistitem(thisform.list1.listitem[thisform.list1.value])thisform.list1.removeitem[thisform.list1.value]右箭頭按鈕(COMMAND2)的CLICK事件代碼請(qǐng)用戶(hù)自己編寫(xiě)。十、組合框(comboBox)控件組合框與列表框類(lèi)似,也是用于提供一組條目供用戶(hù)從中選擇,組合框和和列表框的主要區(qū)別在于:(1)對(duì)于組合框來(lái)說(shuō),通常只有一個(gè)條目是可見(jiàn)的。用戶(hù)可以單擊組合框上的下拉箭頭按鈕打開(kāi)條目列表,以便從中選擇。(2)組合框不提供多重選擇的功能,沒(méi)有Multi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論