第8章 面向對象程序與表單_第1頁
第8章 面向對象程序與表單_第2頁
第8章 面向對象程序與表單_第3頁
第8章 面向對象程序與表單_第4頁
第8章 面向對象程序與表單_第5頁
已閱讀5頁,還剩75頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第八章 面向對象程序與表單設計一一. . 面向面向對象對象的概念的概念著重點是對象以及對象之間的聯系上著重點是對象以及對象之間的聯系上對象對象( (Object)Object):是對是對具體具體的的客觀事物客觀事物的表示,的表示, 類的具體實例。類的具體實例。類類( (Class)Class):一組一組具有相同特性具有相同特性的的對象對象的抽象定的抽象定 義。義。 思考思考對象的屬性對象的屬性( (Property)Property):對象的對象的狀態狀態和和特點特點。 格式為:格式為:對象對象. .屬性屬性= =屬性值屬性值 事件事件( (Event)Event):發生在該對象上的事情。發生

2、在該對象上的事情。方法方法( (Method)Method):對象本身所具有的對象本身所具有的功能功能。 格式為:格式為:對象對象. .方法名方法名子類與繼承子類與繼承 繼承繼承是指在基于現有的類創建新類時,是指在基于現有的類創建新類時,新類繼承新類繼承了了現有類現有類里的方法和屬性。里的方法和屬性。 把把新類新類稱稱為為現有類的現有類的子類子類,而把,而把現有類現有類稱稱為為新類新類的的父類父類。 一個一個子類的成員子類的成員一般包括:一般包括: (1 1)從其父類繼承的屬性和方法。)從其父類繼承的屬性和方法。 (2 2)由子類自己定義的屬性和方法。)由子類自己定義的屬性和方法。 二二.Vi

3、sual FoxPro.Visual FoxPro基類簡介基類簡介 1.1.基類基類 是是系統本身內含系統本身內含的,并不存放在某個類庫中。用戶的,并不存放在某個類庫中。用戶可以基于基類生成所需要的對象,也可以擴展基類創建可以基于基類生成所需要的對象,也可以擴展基類創建自己的子類。自己的子類。 1 1)使用使用CREATEOBJECTCREATEOBJECT函數來直接函數來直接生成基于某個類的對象生成基于某個類的對象。 格式如下:格式如下: CREATEOBJECTCREATEOBJECT( , 1 ) 函數基于指定的類生成一個對象,并返回對象的引用函數基于指定的類生成一個對象,并返回對象的引

4、用 VFVF中所有中所有基類基類共有的屬性如表所示:共有的屬性如表所示:屬性屬性說明說明ClassClass類名,當前對象基于哪個類型而生成類名,當前對象基于哪個類型而生成BaseClassBaseClass基類名,當前類從那個基類名,當前類從那個vfvf基類派生而來基類派生而來ClassLibraryClassLibrary類庫名,當前類存放在哪個類庫中類庫名,當前類存放在哪個類庫中ParentClassParentClass父類名,當前類從哪個類直接派生而來父類名,當前類從哪個類直接派生而來VfVf中基類中基類2 2)對象屬性訪問)對象屬性訪問以及以及對象方法調用對象方法調用的基本格式如下

5、:的基本格式如下: . .(參數列表參數列表)【例例8-18-1】基于基于Visual FoxProVisual FoxPro的的FORMFORM類生成一個對象,類生成一個對象,然后訪問該對象的一些屬性和方法然后訪問該對象的一些屬性和方法。 Oform=CREATEOBJECT(Form) &Oform=CREATEOBJECT(Form) &生成一個空白表單生成一個空白表單Oform.show Oform.show & &顯示表單顯示表單Oform.caption=Oform.caption=”演示演示” &修改表單的標題修改表單的標題?”這是一個生成對象的演示程序這是一個生成對象的演示程序

6、” Oform.releaseOform.release2.2.容器與控件容器與控件 VF VF中的類一般可分為中的類一般可分為兩種類型兩種類型:容器類容器類和和控件類控件類。相應地,可分別生成相應地,可分別生成容器(對象)容器(對象)和和控件(對象控件(對象).). 容器容器可以被認為是一種可以被認為是一種特殊的控件特殊的控件,它能,它能包容包容其他其他的控件或容器的控件或容器 控件:控件:是一個可以以是一個可以以圖形化圖形化的的方式顯示方式顯示出來出來, ,并能與用并能與用戶戶進行交互進行交互的的對象對象,控件類,控件類不能包含不能包含其它對象。其它對象。 層次:層次:容器內的包含關系形成

7、了容器內的包含關系形成了對象的嵌套對象的嵌套層次關系。層次關系。 屬性或關鍵字屬性或關鍵字引用引用ParentParent(對象屬性)(對象屬性)當前對象的直接容器對象當前對象的直接容器對象ThisThis(關鍵字)(關鍵字)當前對象當前對象ThisFormThisForm(關鍵字)(關鍵字)當前對象所在的表單當前對象所在的表單ThisFormSetThisFormSet( (關鍵字關鍵字) )當前對象所在的表單集當前對象所在的表單集對象引用的幾個屬性或關鍵字對象引用的幾個屬性或關鍵字 3.3.事件事件 事件是一種由系統預先定義而由用戶或系統發出事件是一種由系統預先定義而由用戶或系統發出的動作

8、。事件的動作。事件作用于對象作用于對象,對象識別事件并作出相應,對象識別事件并作出相應反應反應 與與方法集可以無限擴展方法集可以無限擴展不同,不同,事件集事件集是是固定固定的,的,用戶不能定義新的事件。用戶不能定義新的事件。 VFVF基類的最小事件集基類的最小事件集事件事件說明說明InitInit當對象當對象生成生成時引發時引發DestroyDestroy當對象從內存中當對象從內存中釋放釋放時引發時引發ErrorError當方法或事件代碼當方法或事件代碼出出現運行現運行錯錯誤時引發誤時引發練習:練習:1)在面向對象程序設計中,程序運行的最基本實體是()在面向對象程序設計中,程序運行的最基本實體

9、是()A)對象對象 B)事件事件 C)屬性屬性 D)方法方法2)下列關于下列關于“類類”的敘述中,錯誤的是()的敘述中,錯誤的是() A) 類是對象的集合,而對象是類的實例類是對象的集合,而對象是類的實例B) 一個類包含了相似對象的特征和行為方法一個類包含了相似對象的特征和行為方法C) 類并不實行任何行為操作,它僅僅表明該怎么做類并不實行任何行為操作,它僅僅表明該怎么做D) 類可以按其定義的屬性、事件和方法進行實際的行為類可以按其定義的屬性、事件和方法進行實際的行為 操作操作3)在在VF中,關鍵字中,關鍵字Parent的含義是指()的含義是指()A) 當前對象當前對象 B)當前對象的直接容器對

10、象當前對象的直接容器對象C) 當前對象所在的表單當前對象所在的表單 D)當前對象所在的表單集當前對象所在的表單集4) 在在VF中,基類的最小事件集包含的事件是()中,基類的最小事件集包含的事件是()A) Init、Error、Destroy B) Init、Load、Destroy c) Load、Error、Unload D) Click、Load、Destroy 三三. .表單表單設計設計( (重點重點) )應用程序的用戶(應用程序的用戶(窗口窗口)界面界面, , 一個容器一個容器. .在表單上添加對象在表單上添加對象( (“表單控件表單控件”工具欄工具欄) )設置各對象屬性設置各對象屬性

11、( (“屬性屬性”窗口窗口) )編寫事件過程代碼、應用方法編寫事件過程代碼、應用方法( (“代碼代碼”窗口窗口) ) 保存表單(生成表單文件,擴展名:保存表單(生成表單文件,擴展名:. .SCXSCX)執行表單執行表單( (do formdo form)1.1.表單設計過程表單設計過程命令方式:命令方式:create form菜單方式:文件新建表單菜單方式:文件新建表單 (窗口)(窗口)項目管理器:文檔表單新建項目管理器:文檔表單新建實例 創建表單創建表單返回注: 總共有21個控件按鈕和4個輔助按鈕 返回屬性說明框屬性列表框對象列表框選項卡屬性設置框返回返回返回實例:請大家思考:該圖中有幾個類

12、幾個對象?返回WindowsWindows中的對象中的對象 當今的應用程序都是基于Windows的。即其界面都應當和Windows具有一致性。而Windows界面中的幾乎所有元素都可以看成對象。返回補充:補充:修改已有表單:修改已有表單: 1 1)MODIFY FORM MODIFY FORM & &打開一個已有的表單打開一個已有的表單 2 2)在項目管理器中,先選擇)在項目管理器中,先選擇文檔文檔標簽,然后選擇標簽,然后選擇表單表單,單擊單擊“修改修改”按鈕。按鈕。 2.2.管理表單屬性和方法管理表單屬性和方法 u表單常用屬性表單常用屬性 屬性屬性描述默認值AlwaysOnTop指定表單是否

13、總是位于其它打開窗口之上.F.AutoCenter居中顯示.F.BackColor指定表單窗口的背景顏色255,255,255BorderStyle指定表單邊框的風格。3Caption顯示于表單標題欄上的文本Form1Closable決定表單的右上角的關閉按鈕是否有效.T.DataSession指定表單中的表是在全局能訪問的工作區打開(設置值為1)還是在表單自己的工作區打開(設置值為2)1MaxButton確定表單右上角是否有最大化按鈕.T.MixButton確定表單右上角是否有最小化按鈕.T.Movable確定表單是否能移動.T.Scrollbars指定表單的滾動條類型。可取值為:0(無),

14、1(水平)2(垂直)3(既水平又垂直)0WindowState指定表單的狀態:0(正常)1(最小化),2(最大化)0WindowType指定表單是模式表單(設置值為1)還是非模式表單(設置值為0)。在一個應用程序中,如果運行了一個模式表單,那么在關閉該表單之前不能訪問應用程序中的其他表單0u添加新的屬性和方法添加新的屬性和方法1 1)創建新屬性)創建新屬性向表單添加新屬性的步驟如下:向表單添加新屬性的步驟如下:(2 2)在)在“名稱名稱”框中輸入屬性名稱框中輸入屬性名稱(3 3)有選擇地)有選擇地在在“說明說明”框中框中輸入新建屬性的輸入新建屬性的說明信息說明信息(1 1)在系統菜單中選擇)在

15、系統菜單中選擇【表單表單】| |【新建屬性新建屬性】命令命令 , ,打開打開“新建屬性新建屬性”對話框,如圖對話框,如圖7-137-13所示。所示。2 2)創建新方法)創建新方法 在表單中添加新方法的步驟如下:在表單中添加新方法的步驟如下:(1 1)在系統菜單中選擇)在系統菜單中選擇【表單表單】| |【新建方法程序新建方法程序】命命 令,打開如圖令,打開如圖 的的“新建方法程序新建方法程序”對話框。對話框。(2 2)在)在“名稱名稱”框中輸入方法名。框中輸入方法名。(3 3)有選擇地在)有選擇地在“說明說明”框中輸入新建方法的說明信框中輸入新建方法的說明信息。息。3.表單常用方法表單常用方法R

16、elaseRelase方法:將表單從內存中釋放。方法:將表單從內存中釋放。 ThisForm.ReleaseThisForm.ReleaseRefreshRefresh方法:刷新表單的所有值。方法:刷新表單的所有值。ShowShow方法:顯示表單。該方法將表單的方法:顯示表單。該方法將表單的VisibleVisible屬性設置為屬性設置為.T.T.。HideHide方法:隱藏表單。該方法將表單的方法:隱藏表單。該方法將表單的VisibleVisible屬性設置為屬性設置為.F.F.SetfocusSetfocus方法:讓控件獲得焦點,使其成為活動對象。若一個方法:讓控件獲得焦點,使其成為活動對

17、象。若一個控件的控件的EnableEnable屬性值或屬性值或VisibleVisible屬性值為屬性值為.f.f.,將不能活的焦點。,將不能活的焦點。注意:注意:與與RelaseRelase方法不同,方法不同,HideHide只是把表單隱藏,但并不只是把表單隱藏,但并不 將表單從內存釋放,之后可用將表單從內存釋放,之后可用ShowShow方法重新顯示表方法重新顯示表 單。單。 4.表單的常用事件有:表單的常用事件有:LoadLoad:當表單或表單集被當表單或表單集被加載到內存中加載到內存中時引發。時引發。 UnloadUnload:從內存中從內存中釋放表單釋放表單或表單集時引發。或表單集時引

18、發。InitInit:創建對象時:創建對象時引發。引發。DestroyDestroy:從內存中從內存中釋放對象釋放對象時引發。時引發。ClickClick:鼠標左鍵單擊對象時引發。:鼠標左鍵單擊對象時引發。 DbclickDbclick: 鼠標左鍵雙擊對象時引發。鼠標左鍵雙擊對象時引發。RightclickRightclick:鼠標右鍵單擊對象時引發。:鼠標右鍵單擊對象時引發。GotFocusGotFocus:對象接收到焦點時引發。:對象接收到焦點時引發。 LostFocusLostFocus:對象失去焦點時引發。:對象失去焦點時引發。KeyPressKeyPress:當用戶按下或釋放鍵時引發

19、。:當用戶按下或釋放鍵時引發。InteractiveChangeInteractiveChange:以交互方式改變對象的值時引發。:以交互方式改變對象的值時引發。ProgrammaticChangeProgrammaticChange:以編程方式改變對象的值時引發。:以編程方式改變對象的值時引發。練習:練習:1)一般情況下當運行表單時,如果要重新繪制表單或控件,將調用表單一般情況下當運行表單時,如果要重新繪制表單或控件,將調用表單 對象的()對象的()A)Release方法方法 B)refresh方法方法 C)show方法方法 D)hide方法方法2)在在vf中,當創建一個對象時,將產生()中

20、,當創建一個對象時,將產生() A) Init事件事件 B) Load事件事件 C) Error事件事件 D) Destroy事件事件3)DblClick事件是()事件是()A) 用鼠標單擊對象時所引發的用鼠標單擊對象時所引發的B) 用鼠標雙擊對象時所引發的用鼠標雙擊對象時所引發的C)用鼠標右鍵單擊對象時所引發的用鼠標右鍵單擊對象時所引發的D)當移動鼠標移到對象上時所引發的當移動鼠標移到對象上時所引發的4) 下列關于表單窗口的說法錯誤的是()下列關于表單窗口的說法錯誤的是()A) ”表單表單”窗口包含在窗口包含在“表單設計器中表單設計器中”B) ”表單表單”窗口可以在主窗口內任意移動窗口可以在

21、主窗口內任意移動C) 可以在可以在“表單表單”窗口中可視化的添加和修改控件窗口中可視化的添加和修改控件D) “表單表單”窗口只能在表單設計器中移動窗口只能在表單設計器中移動5.5.數據環境數據環境(泛指定義表單或表單集時使用的數據源)(泛指定義表單或表單集時使用的數據源)u打開數據環境設計器打開數據環境設計器 單擊單擊“表單設計器表單設計器”工具欄工具欄上的上的“數據環境數據環境”按鈕按鈕 選擇選擇【顯示顯示】| |【數據環境數據環境】命令命令 此時,系統菜單欄上將出現此時,系統菜單欄上將出現“數據環境數據環境”菜單菜單。u數據環境的常用屬性數據環境的常用屬性 常用的兩個數據環境屬性是:常用的

22、兩個數據環境屬性是: AutoOpenTablesAutoOpenTables和和AutoCloseTablesAutoCloseTables u向數據環境添加表或視圖向數據環境添加表或視圖 1 1)選擇)選擇【數據環境數據環境】| |【添加添加】命令命令 2 2)右鍵單擊)右鍵單擊“數據環境設計器窗口數據環境設計器窗口”,然后在彈出,然后在彈出的快捷菜單中選擇的快捷菜單中選擇【添加添加】命令,打開命令,打開“添加表或添加表或視圖視圖”對話框,如圖所示。對話框,如圖所示。選擇所需表,單擊“添加”u移去表或視圖移去表或視圖 選擇要移去的表或視圖選擇要移去的表或視圖 菜單中選擇菜單中選擇【數據環境

23、數據環境】| |【移去移去】命令或用命令或用鼠標右鍵鼠標右鍵單擊單擊要移去的表或視圖要移去的表或視圖u設置關系設置關系 將主表的某個字段(作為關聯表達式)將主表的某個字段(作為關聯表達式)拖曳拖曳到子表的到子表的相匹配的索引標記上既可相匹配的索引標記上既可屬性名屬性名含義含義RelationalExprRelationalExpr用于指定基于主表的關聯表達式用于指定基于主表的關聯表達式ParentAliasParentAlias用于指明主表的別名用于指明主表的別名ChildAliasChildAlias用于指明子表的別名用于指明子表的別名ChildOrderChildOrder用于指定與關聯表

24、達式相匹配的索引用于指定與關聯表達式相匹配的索引OneToManyOneToMany用于指明關系是否為一對多的關系用于指明關系是否為一對多的關系常用的關系屬性常用的關系屬性練習:練習:1) 數據環境泛指定義表單或表單集時使用的()數據環境泛指定義表單或表單集時使用的()A)數據數據 B)數據庫數據庫 C)數據源數據源 D)數據項數據項2)show方法用來將()方法用來將() A)表單的表單的Enabled屬性設置為屬性設置為.T. B) 表單的表單的Enabled屬性設置為屬性設置為.F. C) 表單的表單的Visible屬性設置為屬性設置為.T. D)表單的表單的Visible屬性設置為屬性

25、設置為.F.3)如果要為控件設置焦點,則下列屬性值必須為如果要為控件設置焦點,則下列屬性值必須為.T.的是的是( )A)Enabled和和Default B) Enabled和和VisibleC)Default和和Cancel D)Visible和和Default 標簽(標簽(LabelLabel)控件)控件 1 1功能功能 用于顯示固定的文本信息。用于顯示固定的文本信息。 2 2常用屬性常用屬性captioncaption: 指定標簽的顯示文本指定標簽的顯示文本。可在設計時設置,也可在。可在設計時設置,也可在 程序運時設置或修改。程序運時設置或修改。autosizeautosize:若為真,

26、若為真,標簽在表單中的大小標簽在表單中的大小由由captioncaption屬性中屬性中 的文本長度決定,否則其大小由的文本長度決定,否則其大小由WIDTHWIDTH和和HEIGHTHEIGHT屬屬 性決定。性決定。forecolorforecolor:設置標題的:設置標題的字體顏色字體顏色。backstylebackstyle:設置設置標簽的背景是否透明標簽的背景是否透明,0 0透明,透明,1 1不透明,默不透明,默 認為不透明。認為不透明。name name :標簽對象的標簽對象的名稱名稱,是程序中訪問標簽對象的標識。,是程序中訪問標簽對象的標識。Alignment:Alignment:指

27、定標題文本在控件中顯示的指定標題文本在控件中顯示的對齊方式對齊方式 (0 0,左對齊;,左對齊;1 1,右對齊;,右對齊;2 2,中央對齊),中央對齊) 文本框(文本框(TextBoxTextBox)控件)控件1 1功能:功能:( 1 )( 1 ) 用 于用 于 顯 示 或 接 收 單 行 文 本 信 息顯 示 或 接 收 單 行 文 本 信 息 ( 不 設 置( 不 設 置ControlSourceControlSource屬性),默認輸入類型為屬性),默認輸入類型為字符型字符型,最大長度為最大長度為256256個字符。個字符。(2)(2)用于用于顯示或編輯對應變量或字段的值顯示或編輯對應變

28、量或字段的值(設置(設置ControlSourceControlSource屬性為已有變量或字段名)。屬性為已有變量或字段名)。2 2常用屬性常用屬性ControlSourceControlSource:設置文本框的設置文本框的數據來源數據來源。一般情況下,。一般情況下, 可以利用該屬性為文本框指定一個字段可以利用該屬性為文本框指定一個字段 或內存變量。或內存變量。ValueValue:返回文本框的當前內容返回文本框的當前內容. .默認值是空串。默認值是空串。PassWordCharPassWordChar:設置輸入口令時顯示的字符。設置輸入口令時顯示的字符。Inputmask:Inputma

29、sk:指定在一個文本框中如何輸入和顯示數據。指定在一個文本框中如何輸入和顯示數據。模式符模式符功能功能X X允許輸入任何字符允許輸入任何字符9 9允許輸入數字和正負號允許輸入數字和正負號# #允許輸入數字、空格和正負號允許輸入數字、空格和正負號$ $在固定位置上顯示當前貨幣符號(由在固定位置上顯示當前貨幣符號(由SET CURRENCYSET CURRENCY命令指定)命令指定)$在數值前面在數值前面 相鄰的位置上顯示當前貨幣符號(浮動貨幣值)相鄰的位置上顯示當前貨幣符號(浮動貨幣值)* *在數值左邊顯示在數值左邊顯示* *. .指定小數點的位置指定小數點的位置, ,分隔小數點左邊的數字串分隔

30、小數點左邊的數字串 命令按鈕(命令按鈕(CommandButtonCommandButton)控件)控件1 1功能功能 用來用來啟動啟動某個事件代碼、完成特定功能,如關某個事件代碼、完成特定功能,如關閉表單、移動記錄指針、打印報表等。閉表單、移動記錄指針、打印報表等。2 2常用屬性常用屬性DefaultDefault:默認值為默認值為.F.F.,當屬性為,當屬性為.T.T.時,可稱為時,可稱為“確定確定” 按鈕。一個表單按鈕。一個表單只能有一只能有一個按鈕的個按鈕的DefaultDefault屬性為真。屬性為真。在該按鈕所在的表單激活的情況下,按在該按鈕所在的表單激活的情況下,按EnterEn

31、ter,系統將,系統將自動執行該按鈕的自動執行該按鈕的ClickClick事件代碼。事件代碼。CancelCancel:命令按鈕的命令按鈕的CancelCancel屬性默認值為屬性默認值為.F.F.,如果設置,如果設置為為.T.T.,按,按EscEsc鍵鍵可以激活該按鈕,并執行該按鈕的可以激活該按鈕,并執行該按鈕的ClickClick事件代碼。一個表單可以有事件代碼。一個表單可以有多個多個按鈕的按鈕的Cancel Cancel 屬屬性為真。性為真。EnableEnable:確定按鈕是否有效確定按鈕是否有效,如果按鈕的屬性,如果按鈕的屬性EnableEnable 為為.F.F.,單擊該按鈕不會引

32、發該按鈕的單擊,單擊該按鈕不會引發該按鈕的單擊 事件。事件。Visible:Visible:指定對象是指定對象是可見還是隱藏可見還是隱藏。默認值為。默認值為.t.t., 即對象是可見的。即對象是可見的。【例例】創建一個如圖所示的登錄窗口,并將表單創建一個如圖所示的登錄窗口,并將表單 保存為保存為FORM2FORM2。在確定按鈕的單擊事件中輸入如下代碼:在確定按鈕的單擊事件中輸入如下代碼:If thisform.text1.value=user1If thisform.text1.value=user1“ and and thisform.text2.value=123456thisform.t

33、ext2.value=123456Wait Wait “歡迎使用歡迎使用” window timeout 1 window timeout 1 thisform.releasethisform.releaseelseelseWait Wait 密碼或用戶名錯誤密碼或用戶名錯誤“ window timeout 1 window timeout 1Thisform.releaseThisform.releaseendifendif對話框(對話框(MessageboxMessagebox)用于用戶和程序之間的信息交換用于用戶和程序之間的信息交換,命令格式如下:,命令格式如下:=messagebox(

34、=messagebox(,)其中:其中: 指定在對話框中出現的文本。指定在對話框中出現的文本。 指定對話框的標題。指定對話框的標題。 指定對話框中出現的按鈕和圖標,由指定對話框中出現的按鈕和圖標,由3 3個參數用個參數用加號連接起來:加號連接起來: + 3 具體規定見具體規定見P171P171if counter3if mm=123456 =messagebox(歡迎進入論壇,1+48+256,密碼正確)release thisform else =messagebox(請重新輸入密碼,0+56+0,密碼出錯!) mm= thisform.text1.setfocus counter=coun

35、ter+1endif else =messagebox(您不是本站合法用戶,請退出或先申請帳戶!,0+56+0,系統提示) thisform.releaseendif命令按鈕組(命令按鈕組(CommandGroupCommandGroup)控件)控件1.功能功能 命令按鈕組是命令按鈕組是包含一組命令按鈕包含一組命令按鈕的容器控的容器控件,用戶可以單個或作為一組來操作其中的按鈕件,用戶可以單個或作為一組來操作其中的按鈕。 2命令按鈕組常用屬性命令按鈕組常用屬性ButtoncountButtoncount:命令按鈕組中命令按鈕的命令按鈕組中命令按鈕的數目數目,默認值是,默認值是2 2。ValueV

36、alue:指定命令組指定命令組當前的狀態當前的狀態, ,即命令按鈕組中的即命令按鈕組中的命令按命令按 鈕的序號鈕的序號。該屬性的類型可以是數值型也可以是。該屬性的類型可以是數值型也可以是 字符型。字符型。ButtonsButtons:用于用于存取存取命令按鈕組中命令按鈕組中每個命令按鈕每個命令按鈕的數組,的數組, 代碼中可以通過該數組訪問命令按鈕組中的各代碼中可以通過該數組訪問命令按鈕組中的各 個按鈕個按鈕. .編輯框(編輯框(EditBoxEditBox)控件)控件 1.功能功能 用于顯示或編輯用于顯示或編輯多行文本多行文本信息。信息。 編輯框實際上是一個完整的編輯框實際上是一個完整的簡單字

37、處理器簡單字處理器,在編輯框中能夠選擇、剪,在編輯框中能夠選擇、剪切、粘貼以及復制正文,可以實現自動換行,能夠有自己的垂直滾動條。切、粘貼以及復制正文,可以實現自動換行,能夠有自己的垂直滾動條。2 2編輯框常用屬性編輯框常用屬性SelTextSelText:返回用戶在編輯區內選定的文本返回用戶在編輯區內選定的文本,如果沒有選定任何文本,則返,如果沒有選定任何文本,則返 回空串。回空串。SelLengthSelLength:返回用戶在文本輸入區中所返回用戶在文本輸入區中所選定字符的數目選定字符的數目。selstartselstart:返回用戶在編輯框中所選文本的返回用戶在編輯框中所選文本的起始位

38、置起始位置或或插入點位置插入點位置。ReadonlyReadonly:確定用戶確定用戶是否能修改是否能修改編輯框中的內容。編輯框中的內容。ScrollbarsScrollbars:指定編輯框指定編輯框是否具有滾動條是否具有滾動條,當屬性值為,當屬性值為時,編輯框沒有滾時,編輯框沒有滾 動條,當屬性值為動條,當屬性值為(默認值)時,編輯框包含垂直滾動條(默認值)時,編輯框包含垂直滾動條。 allowtabsallowtabs:指定編輯框中能否使用指定編輯框中能否使用TabTab鍵。鍵。默認值為默認值為.f.f.hideselectionhideselection:指定當編輯框失去焦點時,編輯框中

39、選指定當編輯框失去焦點時,編輯框中選 定的文本定的文本是否仍顯示為選定狀態是否仍顯示為選定狀態。默認。默認 值為值為.t.t.(即當編輯框失去焦點時,編輯(即當編輯框失去焦點時,編輯 框中選定的文本框中選定的文本不顯示為選定不顯示為選定狀態)狀態)Command1(click)n=at(example,thisform.edit1.value)if n0 thisform.edit1.selstart=n-1 thisform.edit1.sellength=len(example)else wait windows 沒有相匹配的單詞沒有相匹配的單詞 timeout 1EndifCommand

40、2(click)if thisform.edit1.seltext=example thisform.edit1.seltext=exerciese else wait windows沒有選擇需要置換的單詞沒有選擇需要置換的單詞 timeout 1endif復選框復選框(CheckBox)(CheckBox)控件控件1. 功能功能 用于用于標識一個兩值狀態標識一個兩值狀態,如真,如真(.t.)(.t.)或假或假(.f.)(.f.)。當處于當處于“真真”狀態時,復選框內狀態時,復選框內顯示顯示一個一個對勾對勾,當處,當處于于“假假”狀態時復選框內為空白。狀態時復選框內為空白。 2. 常用屬性常用

41、屬性ValueValue:用來用來指明指明復選框的復選框的當前狀態當前狀態, ,如下表如下表 ControlSourceControlSource:用于:用于指定指定復選框的復選框的數據源數據源 Caption:Caption:用來指定用來指定顯示顯示在復選框旁邊的在復選框旁邊的文字文字。屬性值屬性值說明說明0或.F.(默認值),未被選中(默認值),未被選中1或.T.被選中被選中=2或null不確定,只在代碼中有效不確定,只在代碼中有效a=thisform.edit1.seltextthisform.edit1.value=stuff(thisform.edit1.value,thisform

42、.edit1.selstart+1,thisform.edit1.sellength,)a=thisform.edit1.seltextthisform.edit2.value=thisform.edit2.value+a選項組選項組(OptionGroup)(OptionGroup)控件控件 1.功能功能 選項組又稱為選項組又稱為選項按鈕組選項按鈕組,是包含選項按鈕的,是包含選項按鈕的一種容器一種容器。一個選。一個選項組中往往項組中往往包含若干個包含若干個選項按鈕,但用戶選項按鈕,但用戶只能只能從中從中選擇一個選擇一個按鈕。按鈕。2.選項組常用屬性選項組常用屬性ButtonCountButt

43、onCount:指定選項組中選項按鈕的指定選項組中選項按鈕的數目數目。ValueValue:用于用于指定指定選項組中選項組中哪個哪個選項按鈕選項按鈕被選中被選中。ControlSourceControlSource:指定指定選項組選項組數據源數據源。ButtonsButtons:用于用于存取存取選項組中選項組中每個選項的數組每個選項的數組【例例】命令按鈕組、選項組、復選框、編輯框應用示例,命令按鈕組、選項組、復選框、編輯框應用示例,按如圖設計一個表單,要求:用戶單擊確定按鈕時,在編按如圖設計一個表單,要求:用戶單擊確定按鈕時,在編輯框中顯示用戶對選項組和復選框的選擇。并將表單保存輯框中顯示用戶

44、對選項組和復選框的選擇。并將表單保存為為FORM3FORM3編寫事件代碼編寫事件代碼選擇命令按鈕組,在屬性窗口中雙擊選擇命令按鈕組,在屬性窗口中雙擊“CLICK EVENTCLICK EVENT”屬性,輸入屬性,輸入如下代碼:如下代碼:if mandgroup1.value=2if mandgroup1.value=2thisform.releasethisform.releaseelseelsecstr=cstr=你所在城市你所在城市+chr(13);+chr(13);+thisform.optiongroup1.buttonsthisform.optiongroup1.value.cap+

45、thisform.optiongroup1.buttonsthisform.optiongroup1.value.caption+chr(13)tion+chr(13)cstr=cstr+cstr=cstr+你的愛好你的愛好+chr(13)+chr(13)if thisform.check1.value=1if thisform.check1.value=1cstr=cstr+thisform.check1.captioncstr=cstr+thisform.check1.captionendifendifif thisform.check2.value=1if thisform.check2

46、.value=1cstr=cstr+thisform.check2.captioncstr=cstr+thisform.check2.captionendifendifif thisform.check3.value=1if thisform.check3.value=1cstr=cstr+thisform.check3.captioncstr=cstr+thisform.check3.captionendifendifthisform.edit1.value=cstrthisform.edit1.value=cstrendifendif列表框(列表框(ListBoxListBox)控件)控件

47、 1.1.功能功能 列表框列表框提供一組條目提供一組條目(數據項),用戶可以從中選(數據項),用戶可以從中選擇一個或多個條目,一般情況下,列表框顯示其中的若擇一個或多個條目,一般情況下,列表框顯示其中的若干條目,用戶可以通過滾動條瀏覽其他條目。干條目,用戶可以通過滾動條瀏覽其他條目。 2.2.常用屬性常用屬性 RowSourceType:RowSourceType:指明指明列表框數據源的列表框數據源的類型類型RowSource:RowSource:指定指定列表框的列表框的數據源數據源 , ,兩者常用的搭配如表兩者常用的搭配如表RowSourceTypeRowSourceType屬性值屬性值Ro

48、wSourceRowSource屬性屬性0-0-無無在程序運行時,通過在程序運行時,通過AddItemAddItem方法方法添加列表框條目,通過添加列表框條目,通過RemoveItemRemoveItem方法移去列表框條目方法移去列表框條目無無1-1-值值列出在列出在RowSourceRowSource屬性中指定所有屬性中指定所有數據項數據項可以是用逗號隔開的若干數據項的集可以是用逗號隔開的若干數據項的集合,例如,在設計時,在本屬性框中合,例如,在設計時,在本屬性框中輸入:北京輸入:北京, ,上海上海, ,長沙長沙, ,武漢武漢5-5-數組數組列出數組的所有元素列出數組的所有元素使用一個已定義

49、的數組名。使用一個已定義的數組名。6-6-字段字段列出一個字段的所有值列出一個字段的所有值字段名字段名7-7-文件文件列出指定目錄的文件清單列出指定目錄的文件清單磁盤驅動器或文件目錄磁盤驅動器或文件目錄8-8-結構結構列出數據表的結構列出數據表的結構表名表名ListList:用以用以存取列表框中數據條目存取列表框中數據條目的的字符串數組字符串數組。例如例如: :LIST1LIST1代表列表框中的第一行(第一個數據項)代表列表框中的第一行(第一個數據項)ListCountListCount:列表框中數據條目的列表框中數據條目的數數目目 ColumnCountColumnCount:指定列表框的指

50、定列表框的列數列數 ValueValue:返回返回列表框中列表框中被選中被選中的的條目條目 ControlSourceControlSource屬性:用戶可以通過該屬性屬性:用戶可以通過該屬性指定一個字段指定一個字段 或變量用以保存或變量用以保存用戶從列表框中選用戶從列表框中選 擇的結果擇的結果 SelectedSelected:該屬性是一個該屬性是一個邏輯型數組邏輯型數組,第,第N N個數組元素代個數組元素代 表第表第N N個數據項是否為選定狀態個數據項是否為選定狀態 MultiSelectMultiSelect:指定用戶能否指定用戶能否在列表框控件內在列表框控件內進行多重選進行多重選 定定

51、. . 列表框控件列表框控件例例: :設置一個列表框設置一個列表框, ,用來改變表單的背景色。用來改變表單的背景色。在表單中添加標簽和列表框控件在表單中添加標簽和列表框控件設置列表框的設置列表框的rowsourcetyperowsourcetype屬性為屬性為1 1,意味著設置,意味著設置逗號分隔的數據項來分別填充列。逗號分隔的數據項來分別填充列。設置列表框的設置列表框的rowsourcerowsource屬性為屬性為“紅色背景,綠色背紅色背景,綠色背景,藍色背景,灰色背景,白色背景景,藍色背景,灰色背景,白色背景”。設計列表框的interactivechange事件代碼:do case ca

52、se thisform.list1.value=紅色背景“ thisform.backcolor=RGB(255,0,0) case thisform.list1.value=綠色背景“ thisform.backcolor=rgb(0,255,0) case thisform.list1.value=藍色背景“ thisform.backcolor=rgb(0,0,255) case thisform.list1.value=灰色背景“ thisform.backcolor=rgb(192,192,192) case thisform.list1.value=白色背景“ thisform.b

53、ackcolor=rgb(255,255,255)endcase組合框組合框(comboBox)(comboBox)控件控件 與列表框類似,也是與列表框類似,也是用于提供一組條目供用戶用于提供一組條目供用戶從中從中選選擇擇,組合框和和列表框的主要區別在于:,組合框和和列表框的主要區別在于:(1)(1)對于組合框來說,通常對于組合框來說,通常只有一個條目只有一個條目是是可見可見的。用戶可以的。用戶可以單擊組合框上的下拉箭頭按鈕打開條目列表,以便從中選擇。單擊組合框上的下拉箭頭按鈕打開條目列表,以便從中選擇。(2)(2)組合框組合框不提供多重選擇不提供多重選擇的功能,沒有的功能,沒有MultiSe

54、lectMultiSelect屬性。屬性。(3)(3)組合框組合框有兩種形式有兩種形式:下拉組合框下拉組合框(StyleStyle屬性為屬性為0 0)和)和下拉下拉列表框(列表框(StyleStyle屬性為屬性為2 2)。對下拉組合框,用戶既可以從列)。對下拉組合框,用戶既可以從列表中選擇,也可以在編輯區輸入。對下拉列表框,用戶只可表中選擇,也可以在編輯區輸入。對下拉列表框,用戶只可從列表中選擇。從列表中選擇。1.實心2.透明3.水平線4.垂直線5.上對角線6.下對角線7.十字線8.對焦交叉線 80,40,240,200計時器計時器(Timer)(Timer)控件控件 1.功能:功能: 由系統

55、時鐘控制由系統時鐘控制,用于用于處理需要定時處理的事件處理需要定時處理的事件。 2.常用屬性常用屬性Enabled:Enabled:確定計時器的確定計時器的工作狀態工作狀態. . .T.T.時,計時器時,計時器工作工作; .F. .F.時,計時器時,計時器掛起掛起。Interval:Interval:指定計時器控制的指定計時器控制的TimerTimer事件之間的時間間隔的毫秒數事件之間的時間間隔的毫秒數。3.3.常用事件常用事件TimerTimer事件:事件:當經過當經過IntervalInterval屬性中指定的毫秒數時,此事件發生。屬性中指定的毫秒數時,此事件發生。r=r+8if r100

56、 thisform.cls r=2endif thisform.forecolor=mod(rand()*1234,12345) thisform.drawwidth=2 thisform.circle(r,120,100)if erval=0 mand1.caption=暫停 erval=100else mand1.caption=工作 erval=0Endif表格表格(Grid)(Grid)控件控件 1.功能:功能: 用于用于瀏覽或編輯瀏覽或編輯多行多列數據。多行多列數據。 2

57、.常用屬性常用屬性RecordSourceType:RecordSourceType:指明指明表格表格數據源數據源的的類型類型. .RecordSource:RecordSource:指定數據來源指定數據來源,它們取值及含義如表所示。,它們取值及含義如表所示。 RecordSourceTypeRecordSourceType屬性值屬性值RecordSourceRecordSource屬性屬性0-0-表:數據來源由表:數據來源由RecordSourceRecordSource屬性指定屬性指定的表,該表能被自動打開的表,該表能被自動打開表名表名1-1-別名別名 數據來源于己打開的表數據來源于己打開的表表的別名表的別名2-2-提示提示 運行時,由用戶根據提示選擇表運行時,由用戶根據提示選擇表格數據源格數據源3-3-查詢查詢 數據來源于查詢數據來源于查詢查詢文

溫馨提示

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

最新文檔

評論

0/150

提交評論