VFP數據庫系統(tǒng)Visual FoxPro常用的表單控件_第1頁
VFP數據庫系統(tǒng)Visual FoxPro常用的表單控件_第2頁
VFP數據庫系統(tǒng)Visual FoxPro常用的表單控件_第3頁
VFP數據庫系統(tǒng)Visual FoxPro常用的表單控件_第4頁
VFP數據庫系統(tǒng)Visual FoxPro常用的表單控件_第5頁
已閱讀5頁,還剩94頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第十章常用地表單控件VFP在面向對象開發(fā)環(huán)境中,是通過在表單上放置控件來完成信息地輸入設計工作地。在設計表單時可以使用兩類控件:與表中數據捆綁地控件與不與數據捆綁地控件。所謂捆綁控件是指當輸入或選擇地值要保存或者被引用時,就需為該控件設置一個數據源,數據源可以是表中地字段或變量。對于數據源是變量或字段地控件,則需要設置控件地ControlSource屬性;若數據源是整個表中地數據,則需要設置RecordSource屬性。而非捆綁控件則不與數據源直接捆綁。10.1標簽控件(Label)標簽控件:它是一個顯示文本圖形地控件,在設計時可以直接修改其中地文本,標簽具有自己地一套屬性,事件與方法,能夠響應絕大多數鼠標事件,可以在運行時動態(tài)地改變標簽文本。可以使用TabIndex屬性為標簽指定一個Tab次序,但標簽并不能獲得焦點,而是將焦點傳遞給Tab鍵次序中緊跟著標簽地下一個控件。常用地標簽屬性:①Caption屬性用于指定標簽地標題文本,最多可包含地字符數量為256。標簽文本顯示在屏幕上以幫助用戶識別各個對象。用戶在產生表單或控件對象時,系統(tǒng)給予對象地Caption屬性值與Name屬性值是相同地,此時用戶應特別注意它們地區(qū)別。用戶在為控件設置Caption屬性時,可以將其中地某個字符作為熱鍵,方法是在該字符前插入一個反斜杠(\)與一個小于號(<)。②AutoSize屬性該屬性用于確定是否根據標題地長度來調整標簽地大小。③Alignment屬性該屬性指定標題文本在控件中顯示時地對齊方式。對于不同地控件,該屬性地設置是有區(qū)別地。對于標簽,該屬性地設置值如下表所示。設置值說明0(默認值)左對齊,文本顯示在區(qū)域地左邊1右對齊,文本顯示在區(qū)域地右邊2對齊,將文本居中排放,使左右兩邊地空白相等④BackStyle屬性該屬性用于確定標簽是否透明。當標簽控件完全處于另一個控件地上方時,標簽將遮住下方地控件,此時若標簽控件地BackStyle屬性設置為0,則下方地控件將透過標簽顯示出來。⑤WordWrap屬性該屬性用于確定標簽上顯示地文本能否換行。前提是AutoSize屬性值應設置為.T.。⑥FontSize屬性該屬性確定標簽上顯示地文本字體地大小。⑦ForeColor屬性該屬性用于確定標簽上顯示地文本字體地顏色。例10.1交換兩個變量中地數據(如下圖1所示)。設計步驟如下:①建立應用程序用戶界面。選擇"新建"表單,進入表單設計器,增加一個命令按鈕mand1,4個標簽Label1,Label2,Label3,Label4(如圖10-3左所示)。②設置對象屬性(如表10-2),設置完成之后地界面如圖10-3右所示。③編寫程序代碼。*編寫命令按鈕mand1地Click事件代碼:t=Thisform.Label3.CaptionThisform.Label3.Caption=Thisform.Label4.CaptionThisform.Label4.Caption=t運行程序,單擊"交換"按鈕,即可看到兩個白框中地數據相互交換。例10.110.2命令按鈕控件(mand)命令按鈕一般是用于啟動某一動作地事件(如關閉表單,移動記錄等)。這些事件地操作代碼通常是放置在命令按鈕地Click事件中。當用戶需要完成某項特定地操作時,可單擊此命令按鈕。常用屬性:①Default屬性與Cancel屬性Default屬性值為.T.地命令按鈕稱為"確認"按鈕。命令按鈕地Default屬性地默認值為.F.。一個表單內只能有一個"確認"按鈕,當用戶將某個命令按鈕設置為"確認"按鈕時,先前存在地"確認"按鈕將自動變?yōu)?非確認"按鈕。 "確認"按鈕地行為要受到KEYP設置(DOS或WINDOWS)地影響。在"確認"按鈕所在地表單激活地情況下,"確認"按鈕地行為如下表所示。設置值效果DOS按Ctrl+Enter,選擇"確認"按鈕,執(zhí)行Click事件代碼WINDOWS當焦點不在命令按鈕上時,按Enter,選擇"確認"按鈕,執(zhí)行Click事件代碼Cancel屬性值為.F.地命令按鈕稱為"取消"按鈕。命令按鈕地Cancel屬性默認值為.F.。在"取消"按鈕所在地表單激活地情況下。按Esc鍵即可激活"取消"按鈕,執(zhí)行該按鈕地Click事件代碼。這兩個屬性在設計與運行階段都可使用,主要適用于命令按鈕。②Enabled屬性指定表單或控件能否響應由用戶引發(fā)地事件。默認值為.T.,即對象是有效地,能被選擇,能響應用戶引發(fā)地事件。Enabled屬性使得用戶(程序)可以根據應用地當前狀態(tài)隨時決定一個對象是有效地還是無效地,也可限制一個對象地使用(如用一個無效地編輯框來顯示只讀信息)。值得注意地是,若一個容器對象地Enabled屬性值為.F.,那么它所包容地所有對象也都不會響應用戶引發(fā)地事件,而無論這些對象地Enabled屬性值如何。③Visible屬性指定對象是可見還是隱藏。在表單設計器中,默認值為T.,即對象是可見地;在程序代碼中,默認值為.F.,即對象是隱藏地。但是一個對象即使是隱藏地,在代碼中仍可以訪問它。④Caption屬性該屬性決定在命令按鈕上顯示地標題文本。例10.2利用命令按鈕以實現顯示狀態(tài)地切換(如下圖所示)。設計步驟如下:①建立應用程序用戶界面:選擇"新建"表單,進入表單設計器,增加2個命令按鈕mand1,mand2,一個標簽Label1。②設置對象屬性③編寫程序代碼。*編寫mand1地Click事件代碼:IFThis.Caption="\<H歡迎"Thisform.Label1.Caption="歡迎使用"+CHR(13)+"VisualFoxPro6.0"This.Caption="\<D日期"ELSEThisform.Label1.Caption="今天是:"+CHR(13)+STR(YEAR(DATE()),4)+;'年'+STR(MONTH(DATE()),2)+'月'+STR(DAY(DATE()),2)+'日'This.Caption="\<H歡迎"ENDIF*編寫mand2地Click事件代碼:Thisform.Release()例10.210.3文本框控件(Text)文本框控件是VFP中一種常用地控件。用戶利用它可以在內存變量,數組元素或非備注型字段中輸入或編輯數據。所有標準地VFP編輯功能(如剪切,復制與粘貼),在文本框內都可使用,文本框一般包含一行數據,文本框可以編輯任何類型地數據(如字符型,數值型,邏輯型,日期型或日期時間型等)。常用屬性:①Value屬性該屬性返回文本框地當前內容。它地默認值為空串。②PasswordChar屬性該屬性指定文本框控件內是顯示用戶輸入地真實字符還是顯示占位符。該屬性地默認值為空串,此時沒有占位符,文本框內顯示用戶輸入地真實字符;當為該屬性指定一個字符(即占位符,通常為*)后,文本框內將顯示占位符,而不會顯示用戶輸入地實際字符。這通常用于在設計登錄口令框時使用。此屬性不會影響Value屬性地設置,Value屬性總是包含用戶輸入地實際內容。該屬性在設計與運行階段時可用,僅適用于文本框。③InputMask屬性該屬性指定在一個文本框如何輸入與顯示數據。InputMask屬性值是一個字符串。該字符串通常由一些所謂地模式符組成,每個模式符都規(guī)定了相應位置上數據地輸入與顯示行為。模式符功能x允許輸入任何字符9允許數字與正負號#允許輸入數字,空格與正負號$在固定位置上顯示當前貨幣符號(由SetCurrency命令指定)$$在數值前面相鄰地位置上顯示當前貨幣號(浮動貨幣符)*在數值左邊顯示星號*.指定小數點地位置,分隔小數點左邊地數字串例10.3利用文本框輸入圓地半徑,計算圓地面積。設計步驟如下:①建立應用程序用戶界面。選擇"新建"表單,進入表單設計器,增加兩個"文本框"控件Text1與Text2,兩個標簽控件Label1與Label2,兩個命令按鈕mand1與mand2(如下圖所示)。.②設置對象屬性(如表10-6所示),設置完成之后如下圖所示。③編寫程序代碼。*編寫表單Form1地Activate事件代碼:This.Text1.SetFocus*編寫mand1地Click事件代碼:a=Thisform.Text1.ValueThisform.Text2.Value=a*a*3.14159Thisform.Text1.Setfocus*編寫mand2地Click事件代碼:Thisform.Release例10.3例10.4設計一個接受口令地表單,屏幕只顯示相同個數地"*"號,并控制用戶輸入口令地次數。設計步驟如下:①建立應用程序用戶界面。選擇"新建"表單,進入表單設計器,增加兩個標簽控件Label1與Label2,一個命令按鈕mand1,一個文本框控件Text1(如圖10-8左所示)。②設置對象屬性(如表10-7所示),設置完成之后如圖10-8右所示。③編寫事件代碼。*編寫表單Form1地Activate事件代碼:PUBLICn &&定義全局變量n=0 &&賦初值This.mand1.Enabled=.F.*編寫命令按鈕mand1地Click事件代碼:Thisform.Release*編寫文本框Text1地Valid事件代碼:a=LOWER(This.Value)IFa="abcdef"Thisform.Label2.Caption="歡迎使用!"Thisform.mand1.Tabstop=.T.ELSEThisform.Label2.Caption="對不起,口令錯!"This.Value=""n=n+1IFn=3Thisform.Label2.Caption="對不起,您無權使用!"Thisform.mand1.Tabstop=.T.This.Enabled=.F.Thisform.mand1.Enabled=.T.ENFIFENDIF例10.410.4計時器控件(Timer)計時器控件允許在指定地時間間隔內執(zhí)行操作與檢查數據。計時器控件與用戶地操作相互獨立。它對時間作出反應,可以讓計時器以一定地時間間隔重復地執(zhí)行某種操作。計時器通常用于檢查系統(tǒng)時鐘,確定是否到了應該執(zhí)行某一任務地時間,對于其它一些后臺處理,計時器也很有用。在運行時,計時器是不可見地,但它一直在后臺計時。①Enabled屬性該屬性用于確定計時器是否開始計時。當屬性值為.F.,時,計時器停止計時;當屬性值為.T.時,計時器開始計時。②Interval屬性該屬性確定計時器Timer事件地兩次引發(fā)地時間間隔。它地單位是毫秒。間隔并不能保證經歷地時間地精確度。系統(tǒng)每秒產生18次時鐘跳動,因此間隔地真正精度不會超過1/18s。若應用程序向系統(tǒng)提交繁重地任務(如很長地循環(huán),大量地計算,或磁盤,網絡,端口地訪問等),則應用程序不能按Interval屬性指定地頻率來引發(fā)計時器事件。例10.5設計一個電子動感標題板,使"2008年北京奧運會"地標題字樣在表單地黃色區(qū)域內從左至右運動。當單擊"暫停"按鈕時,使標題停止移動,按鈕變?yōu)?繼續(xù)";當單擊"繼續(xù)"按鈕時,標題繼續(xù)移動,按鈕又變?yōu)?暫停"(如下圖所示)。設計步驟如下:①建立應用程序用戶界面。選擇"新建"表單,進入表單設計器,增加一個命令按鈕mand1,一個容器控件Container1,用鼠標右鍵單擊容器控件,在彈出地快捷菜單中選擇"編輯",開始對容器進行設計。在容器中增加一個標簽控件Label1與一個計時器控件Timer1(如圖10-11左所示)。②設置對象屬性(如表10-8所示),設置完成之后如圖10-11右所示。③編寫程序代碼。*編寫mand1地Click事件代碼:IFThis.Caption="\<S暫停"This.Caption="\<S繼續(xù)"Thisform.Container1.Timer1.Enabled=.F.ELSEThis.Caption="\<S暫停"Thisform.Container1.Timer1.Enabled=.T.ENDIF*編寫Timer1地Timer事件代碼:IFThis.Parent.Label1.Left+This.Parent.Label1.Width>0This.Parent.Label1.Left=This.Parent.Label1.Left-5ELSEThis.Parent.Label1.Left=This.Parent.WidthENDIF例10.510.5編輯框控件(Edit)

在VFP中文本框只能處理單行地文本數據,處理多行文本數據則需要使用編輯框控件來完成。與文本框一樣,編輯框也可用于輸入,編輯數據,但是它也有自己地特點:編輯框實際上是一個完整地字處理器,利用它可選擇,剪切,粘貼與復制文本;可以實現自動換行;可以有自己地垂直滾動條;可用箭頭鍵在正文內移動光標。編輯框只能輸入,編輯字符型數據,包括字符型內存變量,數組元素,字段及備注型字段內地內容。常用屬性:①ReadOnly屬性指定用戶能否編輯編輯框中地內容。其屬性值地設置如下表所示。ReadOnly屬性與Enabled屬性是有區(qū)別地。盡管在ReadOnly為.T.與Enabled為.F.兩種情況下,都使編輯框具有只讀地特點,但是在前種情況下,用戶仍能移動焦點到編輯框上并使用滾動條,而后種情況則不能。該屬性在設計時可用,在運行時可讀寫。除了編輯框,還適用于文本框,表格等控件。設置值說明.T.不能編輯編輯框中地內容.F.(默認值)能編輯編輯框中地內容②ScrollBars屬性指定編輯框中是否具有滾動條。當屬性值為0時,編輯框無滾動條;當屬性值為2時(默認值),編輯框具有垂直滾動條。該屬性在設計時可用,在運行時可讀寫。除了編輯框,還適用于表單,表格等控件。③SelStart屬性返回用戶在編輯框中選定文本地起始點位置或插入點位置(無文本選定時)。也可用于指定需要選定文本地起始位置或插入點位置。屬性地有效取值范圍在0與編輯區(qū)中字符地總數之間。該屬性在設計時不可用,在運行時可讀寫。除了編輯框,還適用于文本框,組合框等控件。④SelLength屬性返回用戶在控件地文本輸入區(qū)中所選定字符地數目,或指定需要選定地字符數目。屬性地有效取值范圍在0與編輯區(qū)中地字符總數之間,若小于0,將產生一個錯誤。該屬性在設計時不可用,在運行時可讀寫。除了編輯框,還適用于文本框,組合框等控件。⑤SelText屬性返回用戶編輯區(qū)中選定地文本,若無選定地任何文本,則返回空串。該屬性在設計時不可用,在運行時可讀寫。除了編輯框,還適用于文本框,組合框等控件。注:SelStart,SelLength與SelText屬性配合使用,可以完成諸如設置插入點位置,控制插入點地移動范圍,選擇字符,清除文本等一些處理。在使用這些屬性時,需要注意:若將SelLength屬性值設置為小于0,將產生一個錯誤。若SelStart屬性地設置值大于文本總字符數,系統(tǒng)將自動將其調整為文本地總字符數,即插入點位于文本末尾。若改變了Seltext屬性地值,系統(tǒng)將自動把SelLength屬性值設置為0。若將SelText屬性設置為一個新值,那么這個新值就會去置換編輯區(qū)中所選文本并將SelLength屬性置為0。若SelLength屬性值本來就是0,則新值就會被插入到插入點處。例10.6設計一個能簡單實現剪切,復制,粘貼地表單應用例10.610.6微調器控件(Spinner)微調器控件(Spinner)可以在一定范圍內控制數據地變化。除了能用鼠標單擊控件右邊向上與向下地箭頭來增加與減少數值以外,還能象編輯框那樣直接輸入數值數據。常用屬性:①Value屬性該屬性表示微調器控件地當前值。②KeyBoardHighValue屬性該屬性指定微調器控件從鍵盤接受輸入地數值地最大值。③KeyBoardLowValue屬性該屬性指定微調器控件從鍵盤接受輸入地數值地最小值。④SpinnerHighValue屬性該屬性指定按鈕微調數值地高限。⑤SpinnerLowValue屬性該屬性指定按鈕微調數值地低限。⑥Increment屬性設定按一次箭頭按鈕地遞增(遞減)值,默認為1.00。若設置為1.50,則遞增(遞減)數1.5。⑦InputMask屬性設置輸入掩碼。微調器控件默認帶2位小數,若只要整數可用輸入掩碼來限定(如99999表示5位整數)。若微調器控件綁定到表地字段,則輸入掩碼位數不能小于字段寬度,否則將顯示一串"*"號。例10.7設計用3個微調器控件實現對表單背景顏色地改變。設計步驟如下:①建立應用程序用戶界面。選擇"新建"表單,進入表單設計器,增加3個標簽控件Label1,Label2,Label3共3個微調器控件Spinner1,Spinner2,Spinner3(如圖10-14左所示)。②設置對象屬性(如表10-13所示),設置完成之后如圖10-14右所示。③編寫程序代碼。*編寫微調器控件Spinner1地Click事件代碼:Thisform.BackColor=;RGB(Thisform.Spinner1.Value,Thisform.Spinner2.Value,;Thisform.Spinner3.Value)*編寫微調器控件Spinner2地Click事件代碼:Thisform.BackColor=;RGB(Thisform.Spinner1.Value,Thisform.Spinner2.Value,;Thisform.Spinner3.Value)*編寫微調器控件Spinner3地Click事件代碼:Thisform.BackColor=;RGB(Thisform.Spinner1.Value,Thisform.Spinner2.Value,;Thisform.Spinner3.Value)④運行表單,運行界面如下圖例10.710.7復選框控件(Check)復選框控件用于處理在兩種狀態(tài)之間地切換。當復選框被選中時,復選框中出現一個"√",當需取消選中狀態(tài)時,只需將復選框中地"√"取消即可。常用屬性:①Caption屬性該屬性用于指定顯示在復選框旁邊地文字信息。②Value屬性該屬性用于指明復選框地當前狀態(tài)。復選框地Value屬性值地設置有3種情況(如下表所示)。屬性值說明0或F.(默認值),未被選中1或.T.被選中2或.Null.不確定,只在代碼中有效③ControlSource屬性該屬性用于指明與復選框建立聯系地數據源。作為數據源地字段變量或內存變量,其類型可以是邏輯型或數值型。對于邏輯型變量,值.F.,.T.與.Null.分別對應復選框未被選中,被選中與不確定。對于數值型變量,值0,1喝(或.Null.)分別對應復選框未被選中,被選中與不確定。用戶對復選框操作結果會自動存儲到數據源變量以及Value屬性中。例10.8利用復選框來控制輸入或輸出文本地字體風格(如下圖所示)。設計步驟如下:①建立應用程序用戶界面選擇"新建"表單,進入表單設計器,增加一個文本框控件Text1,一個標簽控件Label1,一個形狀控件Shape1,3個復選框控件Check1,Check2,Check3(如圖10-17左所示)。②設置對象屬性(如表10-15所示),設置完成之后如圖10-17右所示)。③編寫程序代碼*編寫表單Form1地Activate事件代碼:This.Text1.SetFocus*編寫Check1地Click事件代碼:Thisform.Text1.FontBold=This.Value*編寫Check1地Click事件代碼:Thisform.Text1.FontItalic=This.Value*編寫Check1地Click事件代碼:Thisform.Text1.FontUnderline=This.Value例10.810.8形狀控件(Shape)

形狀控件有利于可視方式將表單中地組件歸成組。將有關項聯系起來有助于用戶設計出精美地用戶界面,使應用程序更加完美。主要用于在表單上畫出各種類型地形狀(包括圓,橢圓,正方形,圓角正方形,矩形,圓角矩形等)。常用屬性:①Curvature屬性屬性值為0(直角)~99(圓或橢圓)地一個值。形狀類型將由Curvature,Width,Height屬性決定(如下表)形狀控件創(chuàng)建時若Curvature屬性值為0,Width屬性值與Height屬性值也不相等,顯示一個矩形。若要畫出一個圓,應將Curvate屬性值設置為99,并使Width屬性值與Height屬性值相等。CurvatureWidth與Height相等Width與Height不相等0正方形矩形1~99小圓角正方形→大圓角正方形→圓小圓角矩形→大圓角矩形→橢圓②FillStyle屬性確定形狀控件是透明地還是具有一個指定地背景填充方案。③SpecialEffect屬性確定形狀控件是平面地還是三維地。僅當Curvature屬性設置為0時才有效。例10.910.9線條控件(Line)

線條控件主要用于在表單上畫各種類型地線條(包括斜線,水平線與垂直線)。①斜線線條控件創(chuàng)建時,默認自控件區(qū)域地左上角至右下角顯示一條斜線。斜線傾斜角度由控件區(qū)域寬度與高度來決定,可以拖動控件區(qū)域地控制點來改變控件區(qū)域地寬度與高度,或改變寬度屬性Width與高度屬性Height。斜線走向可用LineSlant屬性來指定,鍵盤字符"\"表示左上角至右下角,而"/"表示右上角至左下角。②水平線與垂直線若需顯示水平線或垂直線,可通過調節(jié)線條控件區(qū)域使對應邊重合(表10-18列出了交互式與屬性設置兩種方式)。常用屬性①BorderWidth屬性該屬性決定線條地寬度為多少像素點。②LineSlant屬性該屬性指定當線條不為水平或垂直時,線條地傾斜角度。10.10選項組控件(OptionGroup)選項組又稱為選項按鈕組,是包含選項按鈕地一種容器。一個選項組往往包含若干個選項按鈕,但是用戶只能從中選擇一個按鈕。當用戶選擇某個按鈕選項按鈕時,該按鈕即成為被選中狀態(tài),而該選項組中地其它選項按鈕,無論原來是何種狀態(tài),都將變?yōu)槲催x中狀態(tài)。被選中地選項按鈕中會出現一個圓點。常用屬性:①ButtonCount屬性該屬性指定選項按鈕組中選項按鈕地數目。在表單中創(chuàng)建一個選項按鈕組時,ButtonCount屬性地默認值為2(即包含2個選項按鈕)。可以通過改變ButtonCount屬性地屬性值來重新設置選項按鈕組中包含地選項按鈕數目。②Value屬性該屬性用于指定選項組中哪個選項被選中。該屬性值地類型可以是數值型地,也可以是字符型地。若為數值型n,則表示選項組中第n個選項按鈕被選中;若為字符型c,則表示選項組中Caption屬性值為c地選項按鈕被選中。③ControlSource屬性該屬性指明與選項組建立聯系地數據源。作為選項組數據源地字段變量或內存變量,其類型可以是數值型或字符型,用戶對選項組地操作結果會自動存儲到數據源變量以及Value屬性中。④Buttons屬性該屬性用于存取選項組中每個按鈕地數組。用戶可以利用該屬性為選項組中地按鈕設置屬性或調用其方法。例10.10利用選項按鈕組控制文本地對齊方式與字體(如下圖所示)。設計步驟如下:①建立應用程序用戶界面。選擇"新建"表單,進入表單設計器,增加一個文本框Text1,3個標簽Label1,Label2,Label3,2個選項按鈕組控件OptionGroup1,OptionGroup2③編寫程序代碼。*編寫表單Form1地Activate事件代碼:This.Text1.SetFocus*編寫OptionGroup1地Click事件代碼:n=This.ValueDOCASECASEn=1Thisform.Text1.Alignment=0CASEn=2Thisform.Text1.Alignment=2CASEn=3Thisform.Text1.Alignment=1ENDCASE*編寫OptionGroup2地Click事件代碼:n=This.ValueDOCASECASEn=1Thisform.Text1.FontName="宋體"CASEn=2Thisform.Text1.FontName="隸書"CASEn=3Thisform.Text1.FontName="楷體_GB2312"ENDCASE例10.1010.11命令組控件(mandGroup)命令組控件是包含一組命令按鈕地容器控件,用戶可以單個或作為一組來操作其中地按鈕。在表單設計器中,為了選擇命令組中地某個按鈕,以便為其單獨設置屬性,方法與事件,可以采用以下兩種方法:一是從屬性窗口地對象下拉式組合框中選擇所需地命令按鈕;二是用鼠標右鍵單擊命令組,然后從彈出地快捷菜單中選擇"編輯"命令,這樣命令組就進入了編輯狀態(tài),用戶可以通過鼠標單擊來選擇某個具體地命令按鈕。這種編輯操作方法對其它容器類控件同樣適用。常用屬性:①ButtonCount屬性該屬性指定命令組中命令按鈕地數目。在表單中創(chuàng)建命令組說,ButtonCount屬性地默認值為2,即包含2個命令按鈕??梢酝ㄟ^改變ButtonCount屬性地值來重新設置命令組中地命令按鈕地數目。新增命令按鈕地名稱(Name)由系統(tǒng)自動給定(如mand3,mand4等),但是用戶可以重新設置。該屬性在設計與運行階段可用。②Buttons屬性該屬性用于存取命令組中各按鈕地數組。該屬性數組在創(chuàng)建命令組時建立,用戶可以利用該數組為命令組中地命令按鈕設置屬性或調用其方法。屬性數組下標地取值范圍應該在1至ButtonCount屬性值之間。該屬性在設計時不可用。③Value屬性該屬性指定命令組地當前狀態(tài)。該屬性地類型可以是數值型地(默認情況),也可以是字符型地。若為數值型n,則表示命令組中地第n個命令按鈕被選中;若為字符型c,則表示命令組中Caption屬性值為c地命令按鈕被選中。若命令組中地某個按鈕有自己地Click事件,則一旦單擊該按鈕,就會優(yōu)先執(zhí)行為它單獨設置地代碼,而不會執(zhí)行命令組地Click事件代碼。該屬性在設計與運行階段可用。例10.11演示命令組控件地使用特點。設計步驟如下:①建立應用程序用戶界面。選擇"新建"表單,進入表單設計器,增加一個Text1,一個命令組控件mandGroup1(如下圖所示)。②設置對象屬性,完成之后如下圖所示。③編寫程序代碼。*編寫mandGroup1地Click事件代碼:DOCASECASEThis.Value=1Thisform.Text1.Value="指針移到頂部命令:GoTop"CASEThis.Value=2Thisform.Text1.Value="指針上移命令:Skip-1"CASEThis.Value=3Thisform.Text1.Value="指針下移命令:Skip"CASEThis.Value=4Thisform.Text1.Value="指針移到底部命令:GoBottom"ENDCASE例10.1110.12圖像控件(Image) 圖像控件允許在表單中顯示圖片(.bmp文件)圖像控件與其它控件一樣,具有一整套地屬性,事件與方法程序。圖像控件在運行時可以動態(tài)地改變它。用戶可以用單擊,雙擊與其它方式以交互地使用圖像(圖像文件地類型可以是.bmp,.ico,.gif,.jpg等)。常用屬性:①Picture屬性該屬性指定將要顯示地圖片(.bmp文件)。②BorderStyle屬性該屬性決定圖像是否具有可見地邊框。③Stretch屬性該屬性指定圖像地顯示方式:若該屬性設置為0(剪裁),則超出圖像控件范圍地那部分圖像將不顯示;若該屬性設置為1(恒定比例),則圖像控件將保留圖片地原有比例,并在圖像控件中顯示最大可能地圖片;若該屬性設置為2(伸展),則將圖片調整到正好與圖像控件地高度與寬度相匹配。例10.1210.13列表框控件(ListBox) 列表框控件提供一組條目(數據項),用戶可以從中選擇一個或多個條目。在一般情況下,列表框顯示其中地若干條目,用戶可以通過滾動條實現瀏覽其它條目。⑴常用屬性:①RowSourceType屬性與RowSource屬性RowSourceType屬性指明了列表框中條目數據源地來源,RowSource屬性指定了列表框地條目數據源。RowSourceType屬性地取值范圍及其意義如下表所示。屬性值說明0無(默認值)。在運行時,通過Additem方法添加列表框條目,通過RemoveItem方法移去列表框條目。1值。通過RowSource屬性手工指定具體地列表框條目。2別名。將表中地字段值作為列表框地條目。ColumnCount屬性指定需要取地字段數目,即列表框地列數。指定地字段總是表中最前面地若干字段。3SQL語句。將SQLSelect語句地執(zhí)行結果作為列表框條目地數據源。4查詢(.qpr),將.qpr文件執(zhí)行產生地結果作為列表框條目地數據源。5數組。將數組中地內容作為列表框條目地來源。6字段。將表中地一個或幾個字段作為列表框條目地數據源。7文件。將某個驅動器與目錄下地文件名作為列表框地條目。在運行時,用戶可以選擇不同地驅動器與目錄??梢岳梦募蚣苤付ㄒ徊糠治募?。8結構。將表中地字段名作為列表框地條目,由RowSource屬性指定表。RowSource屬性值為空,則列表框顯示當前表中地字段名清單。9彈出式菜單。將彈出式菜單作為列表框條目地數據源。②List屬性該屬性用以存取列表框中數據條目地字符串數組。該屬性在設計時不可用,在運行時可讀寫。除了列表框,還適用于組合框。例如:讀取列表框中地第3個條目第1列上地數據項Var=Thisform.Mylist.List(3,1)或Var=Thisform.Mylist.List(3)重新將列表框中第3個條目第2列上地數據項設置為"yes" Thisform.Mylist.List(3,2)='yes'③ListCount屬性該屬性指明列表框中數據條目地數目。該屬性在設計時不可用,在運行時只讀。除了列表框,還適用于組合框。④ColumnCount屬性該屬性指定列表框地列數。對于列表框與組合框,該屬性在設計與運行時可用。除了列表框與組合框,還適用于表格。對于表格,該屬性在設計時可用,在運行時可讀寫。⑤Value屬性該屬性返回列表框中被選中地條目。該屬性可以是數值型,字符型。若為數值型,則返回地是被選條目在列表框中地次序號;若為字符型,則返回地是被選條目地本身內容,若列表框不止1列,則返回由BoundColumn屬性指明地列上地數據項。對于列表框與組合框,該屬性為只讀。⑥ControlSource屬性該屬性在列表框中地用法與在其它控件中地用法有所不同。在列表框中,用戶可通過該屬性指定一個字段或變量用以保存用戶從列表框中選擇地結果。⑦Selected屬性該屬性指定列表框中地某個條目是否處于選定狀態(tài)。也可用此屬性在多選列表框中找出所有被選地條目。該屬性在設計時不可用,在運行時可讀寫。除了列表框,還適用于組合框。⑧MultiSelect屬性該屬性指定用戶能否在列表框控件中進行多重選定。該屬性地設置情況如下表所示。該屬性在設計時可用,在運行時可讀寫,但僅適用于列表框。屬性值說明0或.F.默認值,不允許多重選擇1或.T.允許多重選擇。為選擇多個條目,按住Ctrl鍵并同時用鼠標單擊條目⑵常用方法:①AddItem方法該方法為RowSourceType屬性為0地列表添加1項。②Clear方法該方法用于清除列表中地所有條目。⑽RemoveItem方法該方法從RowSourceType屬性為0地列表中刪除1項。④Requery方法該方法指明當RowSource中地值改變時更新列表。例10.13求從2000年至2100年之間地所有閏年。n為閏年地條件是:若n能被4整除;若n不能被100整除或n能被400整除。設計步驟如下:①建立應用程序用戶界面。選擇"新建"表單,進入表單設計器。增加一個形狀控件Shape1,一個列表框控件List1,一個標簽控件Label1,一個命令按鈕mand1(如下圖所示)。③編寫事件代碼。*編寫命令按鈕mand1地Click事件代碼:Thisform.List1.ClearFORn=2000TO2100IFn%4=0IFn%100!=0ORn%400=0l=1ELSEl=0ENDIFELSEl=0ENDIFIFl=1Thisform.List1.AddItem(Allt(Str(n)))ENDIFENDFOR例10.1310.14組合框(boBox)組合框與列表框類似,也是用于提供一組條目供用戶選擇,列表框具有地屬性,方法,組合框也同樣具有(除MultiSelect外),并且具有相類似地意義與使用方法。組合框與列表框地主要區(qū)別在于:對于組合框來說,通常只有一個條目是可見地,用戶可以單擊組合框上地下箭頭按鈕打開條目列表,以便從中選擇。因此,組合框能節(jié)省表單中地顯示空間。組合框不提供多重選擇地功能,無MultiSelect屬性。組合框有2種形式:下拉組合框與下拉列表框。可通過設置Style屬性選擇所需要地組合框形式常用屬性:①InputMask屬性該屬性用于下拉組合框,指定允許鍵入地數值類型。②Style屬性該屬性指定組合框是下拉組合框還是下拉列表框。例10.1510.15表格控件(Grid)

表格控件是一種容器對象,其外形與Browse窗口相似,按行與列地形式顯示數據。一個表格對象由若干列對象(column)組成,每個列對象包含一個標頭對象(Header)與若干控件。在此,表格,列,標頭與控件都有自己地屬性,事件與方法。1.表格設計基本操作一旦指定了表格地列地具體數目(表格地ColumnCount屬性值不是-1),就可以有兩種方法來調整表格地行高與列寬。一是通過設置表格地HeaderHeight與RowHeight屬性調整行高,通過設置列對象地Width屬性調整列寬;二是讓表格處于編輯狀態(tài),然后通過鼠標拖動操作可視地調整表格地行高與列寬。表格設計也可調用表格生成器來進行。通過表格生成器能交互地快速設置表格地有關屬性,創(chuàng)建所需地表格。使用表格生成器生成表格地步驟是:先通過"表單控件"工具欄在表單上放置一個表格,然后用鼠標右鍵單擊表格并在彈出地快捷菜單中選擇"生成器"命令,打開"表格生成器"對話框(如下圖所示),再在對話框內設置有關地選項參數。當設置完成之后按"確定"鍵關閉對話框返回時,系統(tǒng)會根據指定地選項參數設置列表框地屬性。2.常用地表格屬性①RecordSourceType屬性與RecordSource屬性。RecordSourceType屬性指明表格數據源地類型,RecordSource屬性指定表格數據源。RecordSourceType屬性地取值范圍及意義說明如下表所示。設置了表格地RecordSource屬性之后,就可通過ControlSource屬性為表格中地一列指定所需顯示地內容,若未指定,則該列將顯示表格數據源中下一個還未顯示地字段。這兩個屬性在設計時可用,在運行時可讀寫,但都僅適用于表格。屬性值說明0表。數據來源于由RecordSource屬性指定地表,該表能被自動打開。1(默認值)別名。數據來源于已打開地表,由RecordSource屬性指定該表地別名。2提示。運行時,由用戶根據提示選擇表格數據源。3查詢(.qpr)。數據來源于查詢,由RecordSource屬性指定一個查詢文件(.qpr文件)4SQL語句。數據來源于SQL語句,由RecordSource屬性指定一條SQL語句設置了表格地RecordSource屬性之后,就可通過ControlSource屬性為表格中地一列指定所需顯示地內容,若未指定,則該列將顯示表格數據源中下一個還未顯示地字段。這兩個屬性在設計時可用,在運行時可讀寫,但都僅適用于表格。②ColumnCount屬性該屬性指定表格地列數,即一個表格對象所包含地列對象地數目。該屬性地默認值為-1,此時表格將創(chuàng)建足夠多地列來顯示數據源中地所有字段。該屬性在設計時可用,在運行時可讀寫。③LinkMaster屬性該屬性用于指定表格控件中所需顯示地子表地父表名稱。使用該屬性在父表與表格中顯示地子表(由RecordSource屬性指定)之間建立一對多地關聯關系。需在兩個表之間建立這種一對多關系,除了需設置該屬性之外,還應使用ChildOrder與RelationalExpr兩個屬性。該屬性在設計時可用,在運行時可讀寫,但是僅適于表格。④ChildOrder屬性該屬性用于指定為建立一對多地關聯關系,子表所需用到地索引。該屬性類似于SetOrder命令。該屬性在設計時可用,在運行時只讀。⑤RelationalExpr屬性該屬性確定基于主表(由LinkMaster屬性指定)字段地關聯表達式。當主表中地記錄指針移至新位置時,系統(tǒng)首先會計算出關聯表達式地值,然后再從子表中找出在索引表達式(當前索引可由ChildOrder屬性指定)上地取值與該值相匹配地所有記錄,并將它們顯示于表格中。該屬性在設計時可用,在運行時可讀寫。3.常用地列屬性①ControlSouce屬性該屬性指定需在列中顯示地數據源,常見地是表中地一個字段。若未設置該屬性,列中將顯示表格數據源(由RecordSource屬性指定)中下一個還未顯示地字段。②CurrentCortrol屬性該屬性指定列對象中地一個控件,該控件用以顯示與接收列中活動單元格地數據。列中非活動單元格地數據將在缺省地TextBox中顯示。4.常用地標頭(Header)屬性①Caption屬性該屬性指定標頭對象地標題文本,顯示于列地頂部。②Alignment屬性該屬性指定標題文本在對象中顯示地對齊方式。對標頭對象與列對象,其設置值如表10-28所示。在默認方式(屬性值為3)下,對齊方式基于控件數據源地數據類型:數值型數據右對齊,其它類型數據左對齊。屬性值說明屬性值說明0居中靠左1居中靠右2居中3(默認值)自動4左上對齊5右上對齊6中上對齊7左下對齊8右下對齊9中下對齊例10.16設計一個操作數據表地表單,使之具有按記錄瀏覽,編輯地功能。設計步驟如下:①創(chuàng)建數據環(huán)境。選擇"新建"表單,進入表單設計器。打開"數據環(huán)境設計器"窗口,在"數據環(huán)境"窗口中單擊鼠標右鍵,在快捷菜單中選擇"添加",添加表單所需控制地數據

溫馨提示

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

評論

0/150

提交評論