![[IT認(rèn)證]第9章-面向?qū)ο蟪绦蛟O(shè)計(jì)及表單設(shè)計(jì)_第1頁](http://file4.renrendoc.com/view/ae814f7e323f6fd39e8d1db6c4303be4/ae814f7e323f6fd39e8d1db6c4303be41.gif)
![[IT認(rèn)證]第9章-面向?qū)ο蟪绦蛟O(shè)計(jì)及表單設(shè)計(jì)_第2頁](http://file4.renrendoc.com/view/ae814f7e323f6fd39e8d1db6c4303be4/ae814f7e323f6fd39e8d1db6c4303be42.gif)
![[IT認(rèn)證]第9章-面向?qū)ο蟪绦蛟O(shè)計(jì)及表單設(shè)計(jì)_第3頁](http://file4.renrendoc.com/view/ae814f7e323f6fd39e8d1db6c4303be4/ae814f7e323f6fd39e8d1db6c4303be43.gif)
![[IT認(rèn)證]第9章-面向?qū)ο蟪绦蛟O(shè)計(jì)及表單設(shè)計(jì)_第4頁](http://file4.renrendoc.com/view/ae814f7e323f6fd39e8d1db6c4303be4/ae814f7e323f6fd39e8d1db6c4303be44.gif)
![[IT認(rèn)證]第9章-面向?qū)ο蟪绦蛟O(shè)計(jì)及表單設(shè)計(jì)_第5頁](http://file4.renrendoc.com/view/ae814f7e323f6fd39e8d1db6c4303be4/ae814f7e323f6fd39e8d1db6c4303be45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第九章 面向?qū)ο蟪绦蛟O(shè)計(jì)及表單設(shè)計(jì)目錄9.1 面向?qū)ο蟪绦蛟O(shè)計(jì)的概念9.2 Visual FoxPro中的類9.3 Visual FoxPro中對(duì)象的操作9.4 表單設(shè)計(jì) 9.5 常用表單控件9.6自定義類的創(chuàng)建與使用 7/23/20221經(jīng)濟(jì)與管理學(xué)院例:設(shè)計(jì)一個(gè)窗口,如下圖所示窗口中包含兩個(gè)文本框,用于輸入數(shù)據(jù),還有一個(gè)命令按紐,單擊它可以將兩個(gè)文本框中的數(shù)相加,并在等號(hào)右邊顯示結(jié)果9.1 面向?qū)ο蟪绦蛟O(shè)計(jì)的概念在VFP中,窗口叫做“表單”,表單的擴(kuò)展名為.scx。7/23/20222經(jīng)濟(jì)與管理學(xué)院CLICK事件代碼:thisform.label3.caption=alltrim(str(
2、val(thisform.text1.value)+val(thisform.text2.value)7/23/20223經(jīng)濟(jì)與管理學(xué)院9.1.1事件驅(qū)動(dòng) WINDOWS程序設(shè)計(jì)主要采用的是事件驅(qū)動(dòng)的方法。事件是由事件發(fā)生者觸發(fā)和控制的。程序員只能定義這些事件的執(zhí)行代碼,主要由用戶控制事件的發(fā)生順序。 7/23/20224經(jīng)濟(jì)與管理學(xué)院 面向?qū)ο蟮睦碚撌紫劝熏F(xiàn)實(shí)世界中的各種事物,劃分為不同的類(Class),類是抽象的概念。類有“狀態(tài)”和“行為”,“狀態(tài)”是類的靜態(tài)屬性,但可以通過動(dòng)態(tài)的“行為”來改變。 一個(gè)類的具體實(shí)例就是對(duì)象(Object)。類是抽象的,而對(duì)象是具體的。對(duì)象具有該類的狀態(tài)和
3、行為。7/23/20225經(jīng)濟(jì)與管理學(xué)院9.1.2 對(duì)象(object) 客觀世界里的任何實(shí)體都可以被看作是對(duì)象。對(duì)象可以是具體的物,也可以指某些概念。 從編程的角度來看,對(duì)象是一種將數(shù)據(jù)和操作過程結(jié)合在一起的數(shù)據(jù)結(jié)構(gòu),或者是一種具有屬性(數(shù)據(jù))和方法(過程和函數(shù))的集合體。事實(shí)上程序中的對(duì)象就是對(duì)客觀世界中對(duì)象的一種抽象描述。7/23/20226經(jīng)濟(jì)與管理學(xué)院一般對(duì)象具有如下屬性:(1)屬性(Property):屬性用來表示對(duì)象的狀態(tài)。在程序設(shè)計(jì)中,類或?qū)ο蟮摹盃顟B(tài)”或特征稱為屬性。屬性具有屬性名和屬性值,通過屬性名,可以訪問屬性值,或?yàn)閷傩再x值。(2)事件(Event):類或?qū)ο罂赡軋?zhí)行或
4、發(fā)生的行為稱為事件。7/23/20227經(jīng)濟(jì)與管理學(xué)院(3)事件過程(Event Procedure):即對(duì)象響應(yīng)某個(gè)事件所執(zhí)行的程序代碼。程序代碼是為處理特定的事件而編寫的一段程序,也稱為事件代碼。 面向?qū)ο蟮某绦蛟O(shè)計(jì)的核心思路,就是為這些事件書寫程序代碼,在代碼中改變對(duì)象的一些屬性值,并讓對(duì)象做出我們所期望的反應(yīng)。(4)方法(Method):又稱方法程序,是描述對(duì)象行為的過程。即指對(duì)象所固有的完成某種任務(wù)的功能,是對(duì)象能夠執(zhí)行的一個(gè)操作。因此,“方法”類似于面向過程程序設(shè)計(jì)中的“過程”和“函數(shù)”。VFP的一些常用方法:RELEASE:從內(nèi)存中釋放表單或表單集。Show: 顯示表單Setfo
5、cus:為一個(gè)控件指定焦點(diǎn)Hide:隱藏表單、表單集和工具欄Quit:推出VFP的一個(gè)實(shí)例。7/23/20228經(jīng)濟(jì)與管理學(xué)院 從面向?qū)ο蟮睦碚摽矗胺椒ā迸c“事件”本質(zhì)上是相同的?!笆录笨梢钥闯上到y(tǒng)預(yù)先定義的空“方法”,可以在事件中調(diào)用用戶定義的方法,也可以在用戶自定義方法中激活特定事件。但在VFP中,“方法”在很多情況下更基本,因?yàn)閂FP預(yù)先定義了一些方法,可以在事件中調(diào)用它們,而它們一般不調(diào)用事件。 7/23/20229經(jīng)濟(jì)與管理學(xué)院9.1.3類(class)1.概念 類是對(duì)一類相似對(duì)象的性質(zhì)描述,這些對(duì)象具有相同種類的屬性以及方法 。 為了便于開發(fā)系統(tǒng),面向?qū)ο蟮拈_發(fā)工具一般都會(huì)提供
6、很多預(yù)先定義好的類和對(duì)象,并為這些類和對(duì)象預(yù)先設(shè)置足夠多的屬性和事件,以及足夠多的方法,供程序員自由調(diào)用。 7/23/202210經(jīng)濟(jì)與管理學(xué)院類屬性1方法方法屬性類的結(jié)構(gòu)Eg:TEXTBOX類的一些常用屬性:Alignment:設(shè)置文本的對(duì)齊方式。Fontsize:指定字體的大小。Value:文本框中的任何數(shù)據(jù)類型的值,或者字段或變量的數(shù)據(jù)類型。7/23/202211經(jīng)濟(jì)與管理學(xué)院2.子類與繼承 在面向?qū)ο蟮姆椒ɡ铮^承就是一個(gè)類可以在另一個(gè)類的基礎(chǔ)上建立,繼承該類的所有屬性和事件。被繼承的類稱為父類,繼承父類建立的類稱為子類。在子類中,不僅可以繼承父類的所有特性,而且還可以增加自己的屬性和
7、方法程序。 一個(gè)子類的成員一般包括:(1)從其父類繼承的屬性和方法;(2)由子類自己定義的屬性和方法。7/23/202212經(jīng)濟(jì)與管理學(xué)院類可以實(shí)現(xiàn)多層次的繼承關(guān)系。例如:類繼承了類,類又繼承了類。因此,類既是類的子類,也是類的父類。在一個(gè)層次結(jié)構(gòu)中,如果有一個(gè)類,所有的其他的類都是由它直接或間接派生出來的,這個(gè)類就稱為基類。7/23/202213經(jīng)濟(jì)與管理學(xué)院2. 類的特性(1)抽象:指用語言對(duì)需要用程序解決問題的現(xiàn)實(shí)世界進(jìn)行建模,在計(jì)算機(jī)上模擬現(xiàn)實(shí)世界。(2)封裝:將對(duì)象的方法程序和屬性包裝在一起的方法,稱為封裝。(3)繼承:子類沿用父類特征的能力。(4)多態(tài):是指兩個(gè)相關(guān)的對(duì)象解釋同一個(gè)
8、命令,但是同一個(gè)命令產(chǎn)生的動(dòng)作卻不同。封裝可以將操作對(duì)象的內(nèi)部負(fù)責(zé)性與應(yīng)用程序的其他部分隔離開來。Eg:當(dāng)用戶對(duì)一個(gè)標(biāo)簽對(duì)象設(shè)置CAPTION屬性時(shí),不必了解標(biāo)題字符串是如何存儲(chǔ)的。7/23/202214經(jīng)濟(jì)與管理學(xué)院9.2 Visual FoxPro中的類 Visual FoxPro基類是系統(tǒng)本身內(nèi)含的,并不存放在某個(gè)類庫中。用戶可以基于基類生成所需要的對(duì)象,也可以擴(kuò)展基類創(chuàng)建自己的子類。7/23/202215經(jīng)濟(jì)與管理學(xué)院類名含義類名含義ActiveDoc活動(dòng)文檔Label標(biāo)簽CheckBox復(fù)選框Line線條Column(表格)列Listbox列表框ComboBox組合框Olecontr
9、olOLE容器控件CommandButton命令按鈕OleboundcontrolOLE綁定控件CommandGroup命令按鈕組OptionButton選項(xiàng)按鈕Container容器類Optiongroup選項(xiàng)按鈕組Contorl控件類Page頁Custom定制PageFrame頁框EditBox編輯框ProjectHook項(xiàng)目掛鉤Form表單Separator分隔符FormSet表單集Shape圖形Grid 表格Spinner微調(diào)控件Header(列)標(biāo)頭TextBox文本框HyperLink超級(jí)鏈接Timer定時(shí)器Image圖象ToolBar工具欄9-1 Visual Foxpro基類
10、列表7/23/202216經(jīng)濟(jì)與管理學(xué)院類的分類:按照用類創(chuàng)建的對(duì)象是否可視來劃分,VFP的類可分為:可視類和不可視類;按照類中能否放置其他類的對(duì)象來劃分,可以分為:容器類和控件類(非容器類)7/23/202217經(jīng)濟(jì)與管理學(xué)院容器類:可以包含其他對(duì)象,并且允許訪問這些對(duì)象。容器類所能包含的對(duì)象見P218表9-2;控件類:可創(chuàng)建包含其他被保護(hù)對(duì)象的控件對(duì)象,是用以顯示數(shù)據(jù)、執(zhí)行操作或使表單更易閱讀的一種圖形對(duì)象。可以使用“表單設(shè)計(jì)器”的“表單控件”工具欄在表單上繪制控件。VFP中常用控件見P218表9-3。7/23/202218經(jīng)濟(jì)與管理學(xué)院VFP中的每一個(gè)類,都具有至少個(gè)事件,見P219表9
11、-5;所有這些基類,都至少具有個(gè)屬性,見P219表9-4。7/23/202219經(jīng)濟(jì)與管理學(xué)院9.3.1 創(chuàng)建對(duì)象 在程序設(shè)計(jì)中,可以使用CREATEOBJECT函數(shù)來直接生成基于某個(gè)類的對(duì)象。該函數(shù)的格式如下: CREATEOBJECT(,) 函數(shù)基于指定的類生成一個(gè)對(duì)象,并返回對(duì)象的引用 。9.3 Visual FoxPro中對(duì)象的操作7/23/202220經(jīng)濟(jì)與管理學(xué)院類名可以是基類,也可以是自定義類。用CreateObject()函數(shù)創(chuàng)建的對(duì)象是不可見的,可以使用下面的語句使其可見。Object.show或Object.visible=.T.7/23/202221經(jīng)濟(jì)與管理學(xué)院 Eg:
12、 formwelcome=createobject(“form”) formwelcome.show 或: formwelcome.visible=.t.7/23/202222經(jīng)濟(jì)與管理學(xué)院9.3.2 對(duì)象訪問對(duì)象屬性訪問以及對(duì)象方法調(diào)用的基本格式如下:.(參數(shù)列表)絕對(duì)引用和相對(duì)引用(后述)7/23/202223經(jīng)濟(jì)與管理學(xué)院【例9-1】基于Visual FoxPro的FORM類生成一個(gè)對(duì)象,然后訪問該對(duì)象的一些屬性和方法。 Oform=CREATEOBJECT(Form) &生成一個(gè)空白表單Oform.show &顯示表單Oform.caption=”演示” &修改表單的標(biāo)題?”這是一個(gè)生
13、成對(duì)象的演示程序” &在表單上輸出字符串Oform.release7/23/202224經(jīng)濟(jì)與管理學(xué)院9.3.3 容器與控件 Visual FoxPro 中的類一般可分為兩種類型:容器類和控件類。相應(yīng)地,可分別生成容器(對(duì)象)和控件(對(duì)象)。 容器可以被認(rèn)為是一種特殊的控件,它能包容其他的控件或容器 。 控件是一個(gè)可以以圖形化的方式顯示出來,并能與用戶進(jìn)行交互的對(duì)象,控件類不能包含其它對(duì)象。7/23/202225經(jīng)濟(jì)與管理學(xué)院 VFP中的所有容器對(duì)象都有與它們相關(guān)聯(lián)的記數(shù)屬性和收集屬性。收集屬性是引用其每個(gè)被包含對(duì)象的數(shù)組,記數(shù)屬性是指其包含的對(duì)象數(shù)的數(shù)值屬性。 每個(gè)容器的收集和記數(shù)屬性根據(jù)包
14、含在容器中的對(duì)象類型來命名,表9-2列出了容器及其相應(yīng)的收集和記數(shù)屬性。 7/23/202226經(jīng)濟(jì)與管理學(xué)院7/23/202227經(jīng)濟(jì)與管理學(xué)院 容器對(duì)象作為父對(duì)象,可以包含子對(duì)象,子對(duì)象如果是容器對(duì)象,還可以包含下一級(jí)子對(duì)象,形成對(duì)象的層次關(guān)系,在VFP中,對(duì)象是通過容器的層次關(guān)系來引用的。引用分為絕對(duì)引用和相對(duì)引用。(1)絕對(duì)引用:從最高容器開始逐層向下直到某個(gè)對(duì)象為止的引用稱為絕對(duì)引用。 見P225例題9-4 7/23/202228經(jīng)濟(jì)與管理學(xué)院(2)相對(duì)引用:從正在為編寫事件代碼的對(duì)象出發(fā),通過逐層向高一層或低一層直到另一對(duì)象的引用稱為相對(duì)引用 使用相對(duì)引用常用到表9-3所列屬性或關(guān)
15、鍵字 。7/23/202229經(jīng)濟(jì)與管理學(xué)院表9-3 相對(duì)引用關(guān)鍵字屬性或關(guān)鍵字引用Parent當(dāng)前對(duì)象的直接容器對(duì)象This當(dāng)前對(duì)象ThisForm當(dāng)前對(duì)象所在的表單ThisFormSet當(dāng)前對(duì)象所在的表單集7/23/202230經(jīng)濟(jì)與管理學(xué)院【例】如果Form1中有一個(gè)命令按鈕組commandgroup1,該命令按鈕組有兩個(gè)命令按鈕:command1 和command2,label1是表單form1上的一個(gè)標(biāo)簽控件。 如果要在命令按鈕command1的事件(如單擊事件)代碼中修改該按鈕的標(biāo)題可用下列命令: this.caption=”確定” 7/23/202231經(jīng)濟(jì)與管理學(xué)院 如果要在命
16、令按鈕command1的事件代碼中修改命令按鈕command2的標(biāo)題可用下列命令:thisform.Cmand2.caption=取消或者mand2.caption=取消但不能寫成下列命令:mand2.caption=取消7/23/202232經(jīng)濟(jì)與管理學(xué)院 如果要在命令按鈕command1的事件代碼中修改表單的標(biāo)題可用下列命令:This.Parent.parent.Caption=”測(cè)試窗口”或者thisform.caption=”測(cè)試窗口”7/23/202233經(jīng)濟(jì)與管理學(xué)院FORM類TextBox類Label類CommandButton類對(duì)象Text1對(duì)象Label1對(duì)象Text2對(duì)象L
17、abel2對(duì)象Label3對(duì)象Command1對(duì)象Form1FORM類TextBox類Label類CommandButton類對(duì)象Label1對(duì)象Text2對(duì)象Label2對(duì)象Label3對(duì)象Command1對(duì)象Form1FORM類TextBox類Label類CommandButton類7/23/202234經(jīng)濟(jì)與管理學(xué)院9.3.4 事件 事件是一種由系統(tǒng)預(yù)先定義而由用戶或系統(tǒng)發(fā)出的動(dòng)作。事件作用于對(duì)象,對(duì)象識(shí)別事件并作出相應(yīng)反應(yīng)。即類或?qū)ο罂赡軋?zhí)行或發(fā)生的行為稱為事件(EVENT) 與方法集可以無限擴(kuò)展不同,事件集是固定的,用戶不能定義新的事件 。7/23/202235經(jīng)濟(jì)與管理學(xué)院Visu
18、al FoxPro中常用事件有:Load: 當(dāng)表單或表單集被加載到內(nèi)存中時(shí)發(fā)生的事件。Unload: 從內(nèi)存中釋放表單或表單集時(shí)發(fā)生的事件。 Init:創(chuàng)建對(duì)象時(shí)發(fā)生的事件。Destroy: 從內(nèi)存中釋放對(duì)象時(shí)發(fā)生的事件。Click: 鼠標(biāo)左鍵單擊對(duì)象時(shí)發(fā)生的事件。7/23/202236經(jīng)濟(jì)與管理學(xué)院DbClick: 鼠標(biāo)左鍵雙擊對(duì)象時(shí)發(fā)生的事件。Rightclick : 鼠標(biāo)右鍵單擊對(duì)象時(shí)發(fā)生的事件。GotFocus: 對(duì)象接收到焦點(diǎn)時(shí)發(fā)生的事件。LostFocus : 對(duì)象失去焦點(diǎn)時(shí)發(fā)生的事件。KeyPress: 當(dāng)用戶按下或釋放鍵時(shí)發(fā)生的事件。7/23/202237經(jīng)濟(jì)與管理學(xué)院Inte
19、ractiveChange: 以交互方式改變對(duì)象的值時(shí)發(fā)生的事件。 ProgrammaticChange: 以編程方式改變對(duì)象的值時(shí)發(fā)生的事件。7/23/202238經(jīng)濟(jì)與管理學(xué)院一個(gè)常用對(duì)話框函數(shù)Messagebox( ) Messagebox( )函數(shù)是一個(gè)與用戶傳送信息的內(nèi)部函數(shù),用于顯示一個(gè)用戶定義的對(duì)話框。它不但能給用戶傳遞信息,同時(shí)還可以通過用戶在對(duì)話框上的選擇接收到用戶的響應(yīng),作為繼續(xù)執(zhí)行程序的依據(jù)。 使用格式; messagebox(顯示信息,對(duì)話框類型,標(biāo)題條文本)7/23/202239經(jīng)濟(jì)與管理學(xué)院1.對(duì)話框的顯示信息 messagebox()函數(shù)中的顯示信息將出現(xiàn)在激活的
20、對(duì)話框中,在信息字符串中若要顯示多行,則可以在文本中包含回車字符(chr(13)以移動(dòng)其后的信息串到對(duì)話框中的下一行。7/23/202240經(jīng)濟(jì)與管理學(xué)院2.對(duì)話框的類型 對(duì)話框類型參數(shù)實(shí)質(zhì)上是由三部分組成:按鈕類型(05)、圖標(biāo)類型(1664)和焦點(diǎn)選項(xiàng)(0512)。 每一類只能選擇一個(gè)值,將從三類中所選出的值相加在一起就是messagebox()函數(shù)中對(duì)話框類型參數(shù)的值。如果省略該參數(shù),則對(duì)話框內(nèi)只能顯示一個(gè)缺省的確定按鈕,并將此按鈕設(shè)置為缺省按鈕,且無圖表顯示出來。7/23/202241經(jīng)濟(jì)與管理學(xué)院值對(duì)話框按鈕類型0只有一個(gè)確定按鈕1顯示確定和取消兩個(gè)按鈕2顯示終止、重試和忽略三個(gè)按鈕
21、3顯示是、否和取消三個(gè)按鈕4顯示是和否兩個(gè)按鈕5顯示重試和取消兩個(gè)按鈕表1 按鈕類型7/23/202242經(jīng)濟(jì)與管理學(xué)院值對(duì)話框圖標(biāo)類型16顯示stop圖標(biāo)32顯示一個(gè)疑問圖標(biāo)48顯示一個(gè)驚嘆號(hào)圖標(biāo)64顯示一個(gè)信息圖標(biāo)表2 圖標(biāo)類型7/23/202243經(jīng)濟(jì)與管理學(xué)院值焦點(diǎn)選項(xiàng)0第一個(gè)按鈕256第二個(gè)按鈕512第三個(gè)按鈕表3 焦點(diǎn)選項(xiàng)7/23/202244經(jīng)濟(jì)與管理學(xué)院3、標(biāo)題條文本(對(duì)話框標(biāo)題)默認(rèn)值是“Microsoft Visual Foxpro”7/23/202245經(jīng)濟(jì)與管理學(xué)院例:?messagebox(這是對(duì)話框+chr(13)+中的文字,16,這是標(biāo)題)7/23/202246經(jīng)
22、濟(jì)與管理學(xué)院Messagebox()函數(shù)的返回值是整數(shù),對(duì)應(yīng)用戶按了哪個(gè)按紐。返回值和按紐的對(duì)應(yīng)關(guān)系如下表。返回值 對(duì)應(yīng)按紐返回值 對(duì)應(yīng)按紐1234確定取消放棄重試567忽略是否7/23/202247經(jīng)濟(jì)與管理學(xué)院例1:a=messagebox(是、否、取消按紐和問號(hào)圖標(biāo),3+32)例2:b=messagebox(“重試、取消按紐和信息圖標(biāo),第二個(gè)按紐為默認(rèn)按紐”,5+64+256)7/23/202248經(jīng)濟(jì)與管理學(xué)院9.4 表單設(shè)計(jì) 9.4.1 表單的基本操作 表單(Form)是Visual FoxPro提供的用于建立應(yīng)用程序界面的最主要的工具之一。表單相當(dāng)于WINDOWS應(yīng)用程序的窗口 表
23、單可以屬于某個(gè)項(xiàng)目,也可以游離于任何項(xiàng)目之外,它是一個(gè)特殊的磁盤文件,其擴(kuò)展名為.scx。在項(xiàng)目管理器中創(chuàng)建的表單自動(dòng)隸屬于該項(xiàng)目。7/23/202249經(jīng)濟(jì)與管理學(xué)院使用表單向?qū)?chuàng)建簡易的數(shù)據(jù)表單;1.建立表單創(chuàng)建表單一般有兩種途徑:設(shè)計(jì)器創(chuàng)建或修改任何形式的表單。7/23/202250經(jīng)濟(jì)與管理學(xué)院啟動(dòng)表單向?qū)в幸韵滤姆N途徑:打開“項(xiàng)目管理器”,選擇“文檔”選項(xiàng)卡,從中選擇“表單”。然后單擊“新建”按鈕。在彈出的“新建表單”對(duì)話框中單擊“表單向?qū)А卑粹o。在系統(tǒng)菜單中選擇【文件】|【新建】命令,或者單擊工具欄上的“新建”按鈕,打開“新建”對(duì)話框,在文件類型欄中選擇“表單”。然后單擊“向?qū)А卑?/p>
24、鈕。用表單向?qū)гO(shè)計(jì)表單:7/23/202251經(jīng)濟(jì)與管理學(xué)院在系統(tǒng)菜單中選擇【工具】|【向?qū)А縷【表單】命令。直接單擊常用工具欄上的“表單向?qū)А眻D標(biāo)按鈕。 7/23/202252經(jīng)濟(jì)與管理學(xué)院啟動(dòng)表單設(shè)計(jì)器有三種方法:用表單設(shè)計(jì)器設(shè)計(jì)表單:菜單方法:若是新建表單,在系統(tǒng)菜單中選擇【文件】|【新建】,在文件類型對(duì)話框中選擇“表單”,單擊“新建文件”按鈕;若是修改表單,則單擊【文件】|【打開】,在打開對(duì)話框中選擇要修改的表單文件名,單擊“打開”按鈕。 7/23/202253經(jīng)濟(jì)與管理學(xué)院命令方法:在COMMAND窗口輸入如下命令: CREATE FORM &創(chuàng)建新的表單或 MODIFY FORM
25、&打開一個(gè)已有的表單7/23/202254經(jīng)濟(jì)與管理學(xué)院在項(xiàng)目管理器中,先選擇文檔標(biāo)簽,然后選擇表單,單擊新建按鈕。若是修改表單,選擇要修改的表單,單擊“修改”按鈕。 7/23/202255經(jīng)濟(jì)與管理學(xué)院2.表單設(shè)計(jì)環(huán)境(1)設(shè)計(jì)器窗口 “表單設(shè)計(jì)器”窗口內(nèi)包含正在設(shè)計(jì)的表單。用戶可在表單窗口中可視化地添加和修改控件、改變控件布局,表單窗口只能在“表單設(shè)計(jì)器”窗口內(nèi)移動(dòng)。以新建方式啟動(dòng)表單設(shè)計(jì)器時(shí),系統(tǒng)將默認(rèn)為用戶創(chuàng)建一個(gè)空白表單,如圖所示部分。7/23/202256經(jīng)濟(jì)與管理學(xué)院(2)屬性窗口設(shè)計(jì)表單的絕大多數(shù)工作都是在屬性窗口中完成的,因此用戶必須熟悉屬性窗口的用法。如果在表單設(shè)計(jì)器中沒有
26、出現(xiàn)屬性窗口,可在系統(tǒng)菜單中單擊【顯示】|【屬性】,屬性窗口如圖所示。頁框選項(xiàng)卡“對(duì)象”下拉列表框圖屬性設(shè)置框7/23/202257經(jīng)濟(jì)與管理學(xué)院(3)表單控件工具欄 設(shè)計(jì)表單的主要任務(wù)就是利用“表單控件”設(shè)計(jì)交互式用戶界面?!氨韱慰丶惫ぞ邫谑潜韱卧O(shè)計(jì)的主要工具。默認(rèn)包含21個(gè)控件、4個(gè)輔助按鈕,如圖所示 7/23/202258經(jīng)濟(jì)與管理學(xué)院(4)表單設(shè)計(jì)器工具欄 打開“表單設(shè)計(jì)器”時(shí),主窗口中會(huì)自動(dòng)出現(xiàn)“表單設(shè)計(jì)器”工具欄,如圖所示 。7/23/202259經(jīng)濟(jì)與管理學(xué)院9.4.2 數(shù)據(jù)環(huán)境1.打開數(shù)據(jù)環(huán)境設(shè)計(jì)器 表單設(shè)計(jì)器環(huán)境下,單擊“表單設(shè)計(jì)器”工具欄上的“數(shù)據(jù)環(huán)境”按鈕,或選擇【顯示
27、】|【數(shù)據(jù)環(huán)境】命令,即可打開“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口,此時(shí),系統(tǒng)菜單欄上將出現(xiàn)“數(shù)據(jù)環(huán)境”菜單。7/23/202260經(jīng)濟(jì)與管理學(xué)院2.數(shù)據(jù)環(huán)境的常用屬性 常用的兩個(gè)數(shù)據(jù)環(huán)境屬性是AutoOpenTables和AutoCloseTables 7/23/202261經(jīng)濟(jì)與管理學(xué)院3.向數(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ì)器窗口”,然后在彈出的快捷菜單中選擇【添加】命令,打開“添加表或視圖”對(duì)話框,如圖所示。如果數(shù)據(jù)環(huán)境原來是空的,那么在打開數(shù)據(jù)環(huán)境設(shè)計(jì)器時(shí),該對(duì)話框就會(huì)自動(dòng)出現(xiàn)。選擇所
28、需表,單擊“添加”7/23/202262經(jīng)濟(jì)與管理學(xué)院4.從數(shù)據(jù)環(huán)境中移去表或視圖 在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口中,選擇要移去的表或視圖,在系統(tǒng)菜單中選擇【數(shù)據(jù)環(huán)境】|【移去】命令。也可以用鼠標(biāo)右鍵單擊要移去的表或視圖,然后在彈出的快捷菜單中選擇【移去】命令。7/23/202263經(jīng)濟(jì)與管理學(xué)院5.在數(shù)據(jù)環(huán)境中設(shè)置關(guān)系 設(shè)置關(guān)系的方法為:將主表的某個(gè)字段(作為關(guān)聯(lián)表達(dá)式)拖曳到子表的相匹配的索引標(biāo)記上既可。如果子表上沒有與主表字段相匹配的索引,也可以將主表字段拖動(dòng)到子表的某個(gè)字段上,這時(shí)應(yīng)根據(jù)系統(tǒng)提示確認(rèn)創(chuàng)建索引。7/23/202264經(jīng)濟(jì)與管理學(xué)院常用的關(guān)系屬性有:RelationalExpr:
29、用于指定基于主表的關(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/23/202265經(jīng)濟(jì)與管理學(xué)院9.4.3 表單管理1.表單常用屬性屬性描述默認(rèn)值A(chǔ)lwaysOnTop指定表單是否總是位于其它打開窗口之上.F.AutoCenter居中顯示.F.BackColor指定表單窗口的背景顏色255,255,255BorderStyle指定表單邊框的風(fēng)格。3Cap
30、tion顯示于表單標(biāo)題欄上的文本Form1Closable決定表單的右上角的關(guān)閉按鈕是否有效.T.DataSession指定表單中的表是在全局能訪問的工作區(qū)打開(設(shè)置值為1)還是在表單自己的工作區(qū)打開(設(shè)置值為2)1MaxButton確定表單右上角是否有最大化按鈕.T.MixButton確定表單右上角是否有最小化按鈕.T.Movable確定表單是否能移動(dòng).T.Scrollbars指定表單的滾動(dòng)條類型??扇≈禐椋?(無),1(水平)2(垂直)3(既水平又垂直)0WindowState指定表單的狀態(tài):0(正常)1(最小化),2(最大化)0WindowType指定表單是模式表單(設(shè)置值為1)還是非模
31、式表單(設(shè)置值為0)。在一個(gè)應(yīng)用程序中,如果運(yùn)行了一個(gè)模式表單,那么在關(guān)閉該表單之前不能訪問應(yīng)用程序中的其他表單07/23/202266經(jīng)濟(jì)與管理學(xué)院2.表單常用方法(1)Relase方法 將表單從內(nèi)存中釋放。比如表單有一個(gè)命令按鈕,如果希望單擊該命令按鈕時(shí)關(guān)閉表單,就可以在該命令按鈕的Click事件中包含如下代碼: ThisForm.Release 表單運(yùn)行時(shí),用戶單擊表單右上角的關(guān)閉按鈕,系統(tǒng)會(huì)自動(dòng)執(zhí)行Relase方法。7/23/202267經(jīng)濟(jì)與管理學(xué)院(2)Refresh方法:刷新表單。(3)Show方法:顯示表單。該方法將表單的Visible屬性設(shè)置為.T.。(4)Hide方法:隱藏
32、表單。該方法將表單的Visible屬性設(shè)置為.F.。與Relase方法不同,Hide只是把表單隱藏,但并不將表單從內(nèi)存釋放,之后可用Show方法重新顯示表單。 7/23/202268經(jīng)濟(jì)與管理學(xué)院3.表單常用事件(1)Init事件:在表單創(chuàng)建時(shí)引發(fā)。(2)Destroy事件:在表單對(duì)象釋放時(shí)引發(fā)。(3)RightClick事件:用鼠標(biāo)右鍵單擊表單時(shí)引發(fā)。7/23/202269經(jīng)濟(jì)與管理學(xué)院9.4.4 添加新的屬性和方法1.創(chuàng)建新屬性 向表單添加新屬性的步驟如下:(1)在系統(tǒng)菜單中選擇【表單】|【新建屬性】命令 ,打開“新建屬性”對(duì)話框,如圖所示。(2)在“名稱”框中輸入屬性名稱(3)有選擇地在
33、“說明”框中輸入新建屬性的說明信息7/23/202270經(jīng)濟(jì)與管理學(xué)院2.創(chuàng)建新方法 在表單中添加新方法的步驟如下:(1)在系統(tǒng)菜單中選擇【表單】|【新建方法程序】命令,打開如圖 的“新建方法程序”對(duì)話框。(2)在“名稱”框中輸入方法名。(3)有選擇地在“說明”框中輸入新建方法的說明信息。7/23/202271經(jīng)濟(jì)與管理學(xué)院9.4.5運(yùn)行單表 1.在設(shè)計(jì)時(shí)運(yùn)行表單 在設(shè)計(jì)時(shí)可采用以下方法運(yùn)行表單文件:在項(xiàng)目管理器窗口中,選擇要運(yùn)行的表單,然后單擊“運(yùn)行”按鈕。在表單設(shè)計(jì)器窗口中,在系統(tǒng)菜單中選擇【表單】|【執(zhí)行表單】命令,或單擊常用工具欄上的“運(yùn)行”按鈕。在系統(tǒng)菜單中選擇【程序】|【運(yùn)行】命令
34、,打開“運(yùn)行”對(duì)話框,然后在運(yùn)行對(duì)話框中選擇要運(yùn)行的表單文件,單擊“運(yùn)行”按鈕。在命令窗口輸入命令:DO FORM 。 7/23/202272經(jīng)濟(jì)與管理學(xué)院2.在程序中調(diào)用表單 在程序中調(diào)用表單可用下列命令: DO FORM WITH 實(shí)參1,實(shí)參2, TO 變量 NOSHOW7/23/202273經(jīng)濟(jì)與管理學(xué)院TO 變量:用于從模式表單返回值。WITH :用于向表單傳遞參數(shù)。NOSHOW:如果包含NOSHOW關(guān)鍵字,表單運(yùn)行時(shí)將不顯示,直到將表單的Visible屬性被設(shè)置為.T.,或者調(diào)用表單的Show方法。7/23/202274經(jīng)濟(jì)與管理學(xué)院(1)將參數(shù)傳遞到表單 如果要將參數(shù)傳遞到表單,
35、可按如下操作:1)在表單的INIT事件中,用PARAMETERS定義形參: PARAMETERS param1,param22)在表單的INIT事件中可以直接訪問參數(shù),如果在表單的其它方法或事件中需要使用該參數(shù),必需在表單的INIT事件中將參數(shù)保存到表單的屬性或變量中。3)運(yùn)行表單時(shí),使用帶WITH子句的DO FORM命令,系統(tǒng)會(huì)將WITH子句的實(shí)參值傳遞到INIT事件代碼的PARAMETERS子句中的各形參。7/23/202275經(jīng)濟(jì)與管理學(xué)院(2)從表單返回值 只有模式表單可返回值。要從表單返回值可按如下操作:1)將表單的WINDOWTYPE屬性設(shè)置為1,使表單成為模式表單。2)在表單的U
36、NLOAD事件中代碼中,包含一個(gè)帶返回值的RETURN命令。3)運(yùn)行表單時(shí),在DO FORM命令中包含TO關(guān)鍵字。 7/23/202276經(jīng)濟(jì)與管理學(xué)院(3)直接訪問表單對(duì)象 表單運(yùn)行后,在其釋放前可通過指向表單的變量訪問表單對(duì)象及表單中所有控件對(duì)象。 7/23/202277經(jīng)濟(jì)與管理學(xué)院9.5 常用表單控件常用控件的公共屬性:name:控件的名稱,它是代碼中訪問控件的標(biāo)識(shí)(表單或表單集除外)。Fontname:字體名。Fontbold:字體樣式為粗體。Fontsize:字體大小。Fontitalic:字體樣式為斜體。Forecolor:前景色。7/23/202278經(jīng)濟(jì)與管理學(xué)院Height
37、:控件的高度Width:控件的寬度??丶母叨群涂丶膶挾?,也可在設(shè)計(jì)時(shí)通過鼠標(biāo)拖曳進(jìn)行可視化調(diào)整。Visible:控件是否顯示。Enable:控件運(yùn)行時(shí)是否有效。如果為 .T.,則表示控件有效,否則運(yùn)行時(shí)控件不可使用。7/23/202279經(jīng)濟(jì)與管理學(xué)院9.5.1 標(biāo)簽(Label)控件 1標(biāo)簽控件的功能 標(biāo)簽主要用于顯示固定的文本信息。 2標(biāo)簽控件常用屬性caption: 指定標(biāo)簽的顯示文本。可以在設(shè)計(jì)時(shí)設(shè)置,也可以在程序運(yùn)時(shí)設(shè)置或修改。7/23/202280經(jīng)濟(jì)與管理學(xué)院autosize:autosize如果為真,標(biāo)簽在表單中的大小由caption屬性中的文本長度決定,否則其大小由WID
38、TH和HEIGHT屬性決定。forecolor:設(shè)置標(biāo)題的字體顏色。backstyle:設(shè)置標(biāo)簽的背景是否透明,0透明,1不透明,默認(rèn)為不透明。name :標(biāo)簽對(duì)象的名稱,是程序 中訪問標(biāo)簽對(duì)象的標(biāo)識(shí)。 7/23/202281經(jīng)濟(jì)與管理學(xué)院9.5.2 文本框(TextBox)控件1文本框控件的功能(1)用于顯示或接收單行文本信息(不設(shè)置ControlSource屬性),默認(rèn)輸入類型為字符型,最大長度為256個(gè)字符。(2)用于顯示或編輯對(duì)應(yīng)變量或字段的值(設(shè)置ControlSource屬性為已有變量或字段名)。7/23/202282經(jīng)濟(jì)與管理學(xué)院2文本框控件常用屬性ControlSource:設(shè)
39、置文本框的數(shù)據(jù)來源。一般情況下,可以利用該屬性為文本框指定一個(gè)字段或內(nèi)存變量。PassWordChar:設(shè)置輸入口令時(shí)顯示的字符。Readonly:確定文本框是否為只讀,為“.T.”時(shí),文本框的值不可修改。7/23/202283經(jīng)濟(jì)與管理學(xué)院Value:保存文本框的當(dāng)前內(nèi)容,如果沒有為ControlSource屬性指定數(shù)據(jù)源,可以通過該屬性訪問文本框的內(nèi)容。它的初值決定文本框中值的類型。如果為ControlSource屬性指定了數(shù)據(jù)源,該屬性值與ControlSource屬性指定的變量或字段的值相同。7/23/202284經(jīng)濟(jì)與管理學(xué)院9.5.3 命令按鈕(CommandButton)控件1.
40、命令按鈕控件功能 命令按鈕典型地用來啟動(dòng)某個(gè)事件代碼、完成特定功能,如關(guān)閉表單、移動(dòng)記錄指針、打印報(bào)表等。7/23/202285經(jīng)濟(jì)與管理學(xué)院2命令按鈕控件常用屬性 Default:命令按鈕的Default屬性默認(rèn)值為.F.,如果該屬性設(shè)置為.T.,在該按鈕所在的表單激活的情況下,按Enter,可以激活該按鈕,并執(zhí)行該按鈕的Click事件代碼。一個(gè)表單只能有一個(gè)按鈕的Default屬性為真。Enable:確定按鈕是否有效,如果按鈕的屬性Enable為.F.,單擊該按鈕不會(huì)引發(fā)該按鈕的單擊事件。7/23/202286經(jīng)濟(jì)與管理學(xué)院Caption:設(shè)置按鈕的標(biāo)題。Cancel:命令按鈕的Cance
41、l屬性默認(rèn)值為.F.,如果設(shè)置為.T.,在該按鈕所在的表單激活的情況下,按Esc鍵可以激活該按鈕,并執(zhí)行該按鈕的Click事件代碼。一個(gè)表單只能有一個(gè)按鈕的Cancel 屬性為真。對(duì)命令按鈕的使用最重要的是編寫Click事件代碼。 7/23/202287經(jīng)濟(jì)與管理學(xué)院【例】創(chuàng)建一個(gè)如圖所示的登錄窗口,并將表單保存為FORM2。7/23/202288經(jīng)濟(jì)與管理學(xué)院在確定按鈕的單擊事件中輸入如下代碼:if thisform.text1.value=user1“ and thisform.text2.value=123456do form mainform form2.releaseelsemess
42、agebox(密碼或用戶名錯(cuò)誤,0,提示)endif7/23/202289經(jīng)濟(jì)與管理學(xué)院在取消按鈕的單擊事件中輸入如下代碼:nAnswer=messagebox(你決定退出系統(tǒng)嗎?,4,提示)DO CASE CASE nAnswer = 6 thisform.release CASE nAnswer = 7messagebox(請(qǐng)輸入用戶名和密碼,0,提示)ENDCASE7/23/202290經(jīng)濟(jì)與管理學(xué)院9.5.4命令按鈕組(CommandGroup)控件1命令按鈕組功能 命令按鈕組是包含一組命令按鈕的容器控件,用戶可以單個(gè)或作為一組來操作其中的按鈕。7/23/202291經(jīng)濟(jì)與管理學(xué)院2命
43、令按鈕組常用屬性Buttoncount:命令按鈕組中命令按鈕的數(shù)目。Buttons:用于存取命令按鈕組中每個(gè)命令按鈕的數(shù)組,代碼中可以通過該數(shù)組訪問命令按鈕組中的各個(gè)按鈕。7/23/202292經(jīng)濟(jì)與管理學(xué)院Value:默認(rèn)情況下,命令按鈕組中的各個(gè)按鈕被自動(dòng)賦予了一個(gè)編號(hào),如1,2,3,等,當(dāng)運(yùn)行表單時(shí),一旦用戶單擊某個(gè)按鈕,則Value將保存該按鈕的編號(hào),于是在程序中通過檢測(cè)Value的值,就可以為相應(yīng)的按鈕編寫特定的程序代碼。如果在設(shè)計(jì)時(shí),給Value賦予一個(gè)字符型數(shù)據(jù),當(dāng)運(yùn)行表單時(shí),一旦用戶單擊某個(gè)按鈕,則Value將保存該按鈕的Caption屬性值。7/23/202293經(jīng)濟(jì)與管理學(xué)
44、院9.5.5 編輯框(EditBox)控件 1編輯框控件的功能 用于顯示或編輯多行文本信息。編輯框?qū)嶋H上是一個(gè)完整的簡單字處理器,在編輯框中能夠選擇、剪切、粘貼以及復(fù)制正文,可以實(shí)現(xiàn)自動(dòng)換行,能夠有自己的垂直滾動(dòng)條。7/23/202294經(jīng)濟(jì)與管理學(xué)院2編輯框常用屬性ControlSource:設(shè)置編輯框的數(shù)據(jù)源,一般為數(shù)據(jù)表的備注字段。Value:保存編輯框中的內(nèi)容,可以通過該屬性來訪問編輯框中的內(nèi)容。SelText:返回用戶在編輯區(qū)內(nèi)選定的文本,如果沒有選定任何文本,則返回空串。7/23/202295經(jīng)濟(jì)與管理學(xué)院SelLength:返回用戶在文本輸入?yún)^(qū)中所選定字符的數(shù)目。Readonly
45、:確定用戶是否能修改編輯框中的內(nèi)容。Scroolbars:指定編輯框是否具有滾動(dòng)條,當(dāng)屬性值為時(shí),編輯框沒有滾動(dòng)條,當(dāng)屬性值為(默認(rèn)值)時(shí),編輯框包含垂直滾動(dòng)條。 7/23/202296經(jīng)濟(jì)與管理學(xué)院9.5.6復(fù)選框(CheckBox)控件1復(fù)選框的功能 用于標(biāo)識(shí)一個(gè)兩值狀態(tài),如真(.t.)或假(.f.)。當(dāng)處于“真”狀態(tài)時(shí),復(fù)選框內(nèi)顯示一個(gè)對(duì)勾,當(dāng)處于“假”狀態(tài)時(shí)復(fù)選框內(nèi)為空白。7/23/202297經(jīng)濟(jì)與管理學(xué)院2復(fù)選框常用屬性Value:用來指明復(fù)選框的當(dāng)前狀態(tài),如下表 ControlSource屬性:用于指定復(fù)選框的數(shù)據(jù)源 屬性值說明0或.F.(默認(rèn)值),未被選中1或.T.被選中=2或
46、null不確定,只在代碼中有效7/23/202298經(jīng)濟(jì)與管理學(xué)院9.5.7 選項(xiàng)組(OptionGroup)控件1.選項(xiàng)組控件的功能 選項(xiàng)組又稱為選項(xiàng)按鈕組,是包含選項(xiàng)按鈕的一種容器。一個(gè)選項(xiàng)組中往往包含若干個(gè)選項(xiàng)按鈕,但用戶只能從中選擇一個(gè)按鈕。當(dāng)用戶單擊某個(gè)選項(xiàng)按鈕時(shí),該按鈕即成為被選中狀態(tài),而選項(xiàng)組中的其他選項(xiàng)按鈕,不管原來是什么狀態(tài),都變?yōu)槲催x中狀態(tài),被選中的選項(xiàng)按鈕中會(huì)顯示一個(gè)圓點(diǎn)。 7/23/202299經(jīng)濟(jì)與管理學(xué)院2.選項(xiàng)組常用屬性 ButtonCount:指定選項(xiàng)組中選項(xiàng)按鈕的數(shù)目。 Value:用于指定選項(xiàng)組中哪個(gè)選項(xiàng)按鈕被選中。ControlSource:指定選項(xiàng)組數(shù)據(jù)
47、源。 Buttons:用于存取選項(xiàng)組中每個(gè)選項(xiàng)的數(shù)組。7/23/2022100經(jīng)濟(jì)與管理學(xué)院【例】命令按鈕組、選項(xiàng)組、復(fù)選框、編輯框應(yīng)用示例,按如圖設(shè)計(jì)一個(gè)表單,要求:用戶單擊確定按鈕時(shí),在編輯框中顯示用戶對(duì)選項(xiàng)組和復(fù)選框的選擇。并將表單保存為FORM37/23/2022101經(jīng)濟(jì)與管理學(xué)院編寫事件代碼選擇命令按鈕組,在屬性窗口中雙擊“CLICK EVENT”屬性,系統(tǒng)會(huì)打開代碼編寫器,在代碼編寫器窗口為“CLICK EVENT”事件輸入如下代碼:if mandgroup1.value=2thisform.releaseelsecstr=你所在城市+chr(13);+thisform.opti
48、ongroup1.buttonsthisform.optiongroup1.value.caption+chr(13)cstr=cstr+你的愛好+chr(13)7/23/2022102經(jīng)濟(jì)與管理學(xué)院if thisform.check1.value=1cstr=cstr+thisform.check1.captionendifif thisform.check2.value=1cstr=cstr+thisform.check2.captionendifif thisform.check3.value=1cstr=cstr+thisform.check3.captionendifthisform
49、.edit1.value=cstrendif7/23/2022103經(jīng)濟(jì)與管理學(xué)院9.5.8列表框(ListBox)控件 1列表框的功能 列表框提供一組條目(數(shù)據(jù)項(xiàng)),用戶可以從中選擇一個(gè)或多個(gè)條目,一般情況下,列表框顯示其中的若干條目,用戶可以通過滾動(dòng)條瀏覽其他條目。7/23/2022104經(jīng)濟(jì)與管理學(xué)院2.選項(xiàng)組常用屬性 RowSourceType屬性與RowSource屬性:RowSourceType屬性指明列表框數(shù)據(jù)源的類型,RowSource屬性指定列表框的數(shù)據(jù)源 ,兩者常用的搭配如表 7/23/2022105經(jīng)濟(jì)與管理學(xué)院RowSourceType屬性值RowSource屬性0-無
50、:在程序運(yùn)行時(shí),通過AddItem方法添加列表框條目,通過RemoveItem方法移去列表框條目無1-值:列出在RowSource屬性中指定所有數(shù)據(jù)項(xiàng)可以是用逗號(hào)隔開的若干數(shù)據(jù)項(xiàng)的集合,例如,在設(shè)計(jì)時(shí),在本屬性框中輸入:北京、上海、長沙、武漢5-數(shù)組:列出數(shù)組的所有元素使用一個(gè)已定義的數(shù)組名。6-字段:列出一個(gè)字段的所有值字段名7-文件:列出指定目錄的文件清單磁盤驅(qū)動(dòng)器或文件目錄8-結(jié)構(gòu):列出數(shù)據(jù)表的結(jié)構(gòu)表名7/23/2022106經(jīng)濟(jì)與管理學(xué)院List屬性:用以存取列表框中數(shù)據(jù)條目的字符串?dāng)?shù)組。例如,LIST1代表列表框中的第一行(第一個(gè)數(shù)據(jù)項(xiàng))。ListCount屬性:列表框中數(shù)據(jù)條目的數(shù)
51、目 ColumnCount屬性:指定列表框的列數(shù) Value屬性:返回列表框中被選中的條目 7/23/2022107經(jīng)濟(jì)與管理學(xué)院ControlSource屬性:該屬性在列表框中的用法與在其他控件中的用法有所不同,在這里,用戶可以通過該屬性指定一個(gè)字段或變量用以保存用戶從列表框中選擇的結(jié)果 Selected屬性:該屬性是一個(gè)邏輯型數(shù)組,第N個(gè)數(shù)組元素代表第N個(gè)數(shù)據(jù)項(xiàng)是否為選定狀態(tài) MultiSelect屬性:指定用戶能否在列表框控件內(nèi)進(jìn)行多重選定 7/23/2022108經(jīng)濟(jì)與管理學(xué)院【例】列表框的應(yīng)用:按下圖設(shè)計(jì)一個(gè)表單。要求表單運(yùn)行時(shí),LIST1列表框顯示STUD表的所有字段,單擊左箭頭按
52、鈕時(shí),LIST1中選擇的字段加入到LIST2中。 7/23/2022109經(jīng)濟(jì)與管理學(xué)院操作步驟: 按圖7-19所示在表單中加入二個(gè)列表框、二個(gè)標(biāo)簽、二個(gè)命令按鈕。 在表單的INIT事件中加入如下代碼:thisform.list1.value=0 thisform.list2.value=0open database studentuse studfor i=1 to fcount()thisform.list1.additem(fields(i)nextclose database7/23/2022110經(jīng)濟(jì)與管理學(xué)院 在左箭頭按鈕(COMMAND1)的CLICK事件中加入如下代碼:this
53、form.list2.addlistitem(thisform.list1.listitemthisform.list1.value)thisform.list1.removeitemthisform.list1.value右箭頭按鈕(COMMAND2)的CLICK事件代碼請(qǐng)用戶自己編寫。7/23/2022111經(jīng)濟(jì)與管理學(xué)院9.5.9組合框(comboBox)控件 組合框與列表框類似,也是用于提供一組條目供用戶從中選擇,組合框和和列表框的主要區(qū)別在于三點(diǎn):7/23/2022112經(jīng)濟(jì)與管理學(xué)院組合框不提供多重選擇的功能,沒有MultiSelect屬性。對(duì)于組合框來說,通常只有一個(gè)條目是可見的
54、。用戶可以單擊組合框上的下拉箭頭按鈕打開條目列表,以便從中選擇。7/23/2022113經(jīng)濟(jì)與管理學(xué)院組合框有兩種形式:下拉組合框(Style屬性為0)和下拉列表框(Style屬性為2)。對(duì)下拉組合框,用戶既可以從列表中選擇,也可以在編輯區(qū)輸入。對(duì)下拉列表框,用戶只可從列表中選擇。7/23/2022114經(jīng)濟(jì)與管理學(xué)院9.5.10表格(Grid)控件 1表格控件的功能:表格控件用于瀏覽或編輯多行多列數(shù)據(jù)2表格控件常用屬性RecordSourceType 和RecordSource屬性:RecordSourceType指明表格數(shù)據(jù)源的類型, RecordSource屬性指定數(shù)據(jù)的來源,它們?nèi)≈导?/p>
55、含義如表所示。7/23/2022115經(jīng)濟(jì)與管理學(xué)院RecordSourceType屬性值RecordSource屬性0-表:數(shù)據(jù)來源由RecordSource屬性指定的表,該表能被自動(dòng)打開表名1-別名數(shù)據(jù)來源于己打開的表表的別名2-提示運(yùn)行時(shí),由用戶根據(jù)提示選擇表格數(shù)據(jù)源3-查詢數(shù)據(jù)來源于查詢查詢文件名4-SQL語句數(shù)據(jù)來源于SQL語句SQL語句7/23/2022116經(jīng)濟(jì)與管理學(xué)院ColumnCount:指定表格的列數(shù)LinkMaster:用于指定表格控件中所顯示的子表的父表名稱 ChildOrader:指定子表的索引 RelationalExpr:確定基于主表字段的關(guān)聯(lián)表達(dá)式 7/23/
56、2022117經(jīng)濟(jì)與管理學(xué)院AllowAddNew:為真,運(yùn)行時(shí)允許添加新記錄,否則不能添加新記錄 AllowRowSizing:為真,運(yùn)行時(shí)用戶可改變行高。AllowHeaderSizing:為真,運(yùn)行時(shí)用戶可改變列寬。7/23/2022118經(jīng)濟(jì)與管理學(xué)院3常用的列屬性 ControlSource:指定在列中顯示的數(shù)據(jù)源。CurrentControl:指定列對(duì)象中顯示和接收數(shù)據(jù)的控件。Sparse:用于確定CurrentControl屬性影響列中的所有單元格還是只影響活動(dòng)單元格 。注意:設(shè)計(jì)時(shí)要設(shè)置列對(duì)象的屬性,首先得選擇列對(duì)象,選擇列對(duì)象有兩種方法:從屬性窗口的對(duì)象列表中選擇相應(yīng)列,右擊表格,在彈出的快捷菜單中選擇【編輯】命令,這時(shí)表格進(jìn)入編輯狀態(tài)(表格的周圍有一個(gè)粗框),用戶可用鼠標(biāo)單擊選擇列對(duì)象。7/23/2022119經(jīng)濟(jì)與管理學(xué)院4常用的標(biāo)頭(He
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化創(chuàng)意產(chǎn)業(yè)項(xiàng)目研發(fā)投資合同
- 農(nóng)產(chǎn)品收購書合同
- 醫(yī)院裝修法律協(xié)議合同材料
- 外包項(xiàng)目勞動(dòng)合同
- 全款二手房屋買賣合同書
- 焊接鋼管買賣合同
- 公司財(cái)務(wù)保密協(xié)議
- 三農(nóng)產(chǎn)品電子商務(wù)推廣應(yīng)用方案
- 電子支付系統(tǒng)服務(wù)協(xié)議
- 物流配送安全免責(zé)合同書
- 《人工智能基礎(chǔ)》課件-AI的前世今生:她從哪里來
- 片劑工藝流程圖
- 國家標(biāo)準(zhǔn)圖集16G101平法講解課件
- 北師大版六年級(jí)數(shù)學(xué)下冊(cè)《數(shù)學(xué)好玩(全套)》公開課件
- 電機(jī)工程學(xué)報(bào)論文格式模版
- 企業(yè)服務(wù)工作實(shí)施方案
- 信息技術(shù)ppt課件完整版
- 2022義務(wù)教育小學(xué)科學(xué)課程標(biāo)準(zhǔn)(2022版)解讀及測(cè)試題3套(含答案)
- 新湘教(湖南美術(shù))版小學(xué)美術(shù)五年級(jí)下冊(cè)全冊(cè)PPT課件(精心整理匯編)
- 大智慧指標(biāo)公式函數(shù)大全(完整可打印版)
- JIS G4305-2021 冷軋不銹鋼板材、薄板材和帶材
評(píng)論
0/150
提交評(píng)論