国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
常用的表單控件

標簽(Label)控件
命令按鈕(CommandButton) 控件
命令組(CommandGroup)控件
文本框(textBox)控件
編輯框(editbox)控件
復選框(checkbox)控件
選項組(optiongroup)控件
列表框(listbox)控件
組合框(combox)控件
表格控件
頁框控件

標簽(Label)控件

    可以編寫代碼來改變 Label 控件顯示的文本,以響應運行時的事件。例如,如果一個應用程序要幾分鐘時間作改動,則可以顯示 Label 中的進程狀態(tài)信息。還可以使用 Label 來標識控件,例如 TextBox 控件沒有自己的 Caption 屬性,這時就可以使用 Label 來標識這個控件。
    Label 控件中定義訪問鍵時,就可以按 ALT + 設定的字符來把焦點移動到 TAB 鍵順序中的下一個控件。
常用的標簽屬性

  • Caption屬性
        當創(chuàng)建一個新的對象時,其缺省標題為缺省的 Name 屬性設置。該缺省標題包括對象名和一個整數,如 Command1 或 Form1。為了獲得一個描述更清楚的標簽,應對 Caption 屬性進行設置。
        可以使用 Caption 屬性賦予控件一個訪問鍵。在標題中,在想要指定為訪問鍵的字符前加一個 (\<) 符號。比如,下面代碼在為標簽設置Caption屬性的同時,指定了一個訪問鍵“x”
    ThisForm.MyLabel.Caption="選擇項目(\<X)"
        
    對于一般控件,按下相應的訪問鍵,將激活該控件,使該控件獲得焦點。而對于標簽,按下相應的訪問鍵,將把焦點傳遞給tab鍵次序中緊跟著標簽的下一個控件。比如,在某個列表框的上方 放置一個標簽,并把列表框的Tab鍵次序安排在標簽之后,這樣,按下標簽訪問鍵時,其下方的列表獲得焦點。
        訪問鍵的使用方法受KEYCOMP設置(DOSWINDOWS)的影響。在當前表單激活的情況下,訪問鍵的使用方法如表所示。
     
    設置值 效果
    DOS 直接按訪問鍵選擇對象,若當前焦點處于組合框、列表框等要接收鍵盤輸入的對象時,訪問鍵無效。
    WINDOWS 一般情況下直接按訪問鍵選擇對象。若當前焦點處于組合框、列表框等要接收鍵盤輸入的對象時,按組合鍵Alt+<訪問鍵〉選擇對象。
  • Label 控件標題的大小沒有限制。對于窗體和所有別的有標題的控件,標題大小的限制是 255 個字符。
    提示
    對于標簽來說,將 AutoSize 屬性設為 True 自動調整控件的大小以與其標題相適合。
  • Alignment屬性
    指定的標題文本在控件中顯示的對齊方式

語法
object.Alignment [= number],該屬性的設置值如表所述。

設置值 說明
0 (默認值)左對齊,文本顯示在區(qū)域的左邊
1 右對齊,文本顯示在區(qū)域的右邊
2 中央對齊,將文本居中排放,使左右兩邊的空白相等

例 表單中有三個標簽,當鼠標單擊任何一個標簽時,都使其他兩個 標簽的標題互換。
   內容要點:假設三個標簽的名稱(name屬性值)分別是Label1、Label2、Label3,它們可以從屬性窗口中獲得。

  1. 標簽Label1的Click事件代碼為:
    t=thisform.Label2.Captipn
    thisform.Label2.Caption=thisform.Label3.Caption
    thisform.Label3.Caption=t
     
  2. 標簽Label2的click事件代碼為:
    t=thisform..label1.Caption
    thisform.Label1.Caption=thisform.Label3.Caption
    thisform.Label3.Caption=t
     
  3. 標簽Label3的click事件代碼為:
    t=thisform.Label1.Caption
    thisform.Label1.Caption=thisform.Label2.Caption
    thisform.Label2.Caption=t

操作步驟:

  1. 創(chuàng)建表單,然后在表單中添加3個標簽按鈕。
  2. 分別為3個標簽控件設置caption屬性,如示意圖所示。
  3. 分別為3個標簽控件設置click事件代碼。

返回

命令按鈕(CommandButton) 控件

    CommandButton 控件可以開始、中斷或者結束一個進程。選取這個控件后,CommandButton 顯示按下的形狀,所以有時也稱之為下壓按鈕。為了在 CommandButton 控件上顯示文本,需要設置其 Caption 屬性??梢酝ㄟ^單擊 CommandButton 選中這個按鈕。為了能夠在按 ENTER 鍵時也選中命令按鈕,需要將其 Default 屬性設置為 True。為了能夠按 ESC 鍵時也選中 CommandButton,則需要將 CommandButton Cancel 屬性設置成 True。

常用屬性有以下幾個:

  • default屬性
    返回或設置一個值,以確定哪一個 CommandButton 控件是窗體的缺省命令按鈕。
    語法
    object.Default [= boolean]
    Default 屬性語法包含下面部分:
    部分 描述
    Object 對象表達式
    Boolean 布爾表達式,指定該命令按鈕是否為缺省按鈕,

    設置值
    boolean 的設置值為

    設置值 描述
    True CommandButton 是缺省命令按鈕。
    False (缺省值)該 CommandButton 不是缺省命令按鈕。

        窗體中只能有一個命令按鈕可以為缺省命令按鈕。當某個命令按鈕的 Default 設置為 True 時,窗體中其它的命令按鈕自動設置為 False。
        確認按鈕的行為要受KEYCOMP設置(DOS或WINDOWS)的影響。在“確認”按鈕所在的表單激活的情況下,“確認”按鈕的行為如表所示。

    設置值 效果
    DOS 按Ctrl+Enter,選擇“確認”按鈕,執(zhí)行 click事件代碼
    WINDOWS 當焦點不在命令按鈕上時,按enter,選擇“確認”按鈕,執(zhí)行click事件代碼。
  • Cancel 屬性
        使用 Cancel 屬性使得用戶可以取消未提交的改變,并把窗體恢復到先前狀態(tài)。窗體中只能有一個 CommandButton 控件為取消按鈕。當一個 CommandButton 控件的 Cancel 屬性被設置為 True,窗體中其它 CommandButton 控件的 Cancel 屬性自動地被設置為 False。當一個 CommandButton 控件的 Cancel 屬性設置為 True 而且該窗體是活動窗體時,用戶可以通過單擊它,按 ESC 鍵,或者在該按鈕獲得焦點時按 ENTER 鍵來選擇它。
  • Enabled 屬性
       Enabled 屬性允許在運行時使窗體和控件成為有效或無效。默認值為.T.
    Enabled 屬性使得用戶(程序)可以根據應用的當前狀態(tài)隨時決定一個對象是有效的還是無效的,也可以限制一個對象的使用,如用一個無效的編輯框(Enabled=.f.)來顯示只讀信息。
    說明:如果一個容器對象的enable屬性值為.f.,那么它里面的所有對象也都不會響應用戶引發(fā)的事件。
  • Visible屬性
        指定對象可見還是隱藏。在表單設計器中,默認值為.T.,在程序代碼中,默認值為.F.,一個對象即使是隱藏的,在代碼中可以訪問它。
        當一個表單由活動變成隱藏時,最近活動的表單或其他對象將成為活動的。當一個表單的Visible屬性由.F.設置成.T.時,表單將成為可見的,但并不成為活動的。要使一個表單成為活動的,可使用show方法。show方法是表單成為可見的同時,使其成為活動的。

返回

命令組(CommandGroup)控件
    命令組控件是包含一組命令按鈕的容器控件,用戶可以單個或作為一組來操作其中的 按鈕。
    在表單設計器中,為了選擇命令組中的某個按鈕,有如下兩種方法:從屬性窗口的對象下拉式組合框中選擇所需的命令按鈕;用鼠標右鍵單擊命令組,然后從彈出的快捷菜單中選擇“編輯”命令,這樣命令組就進入了編輯狀態(tài),用戶可以通過鼠標單擊來選擇某個具體的命令按鈕。
常用的屬性有:

  • ButtonCount屬性
    指定命令組中命令按鈕的數目。在表單中創(chuàng)建一個命令組時,ButtonCount屬性的默認值是2,既包含兩個命令按鈕??梢酝ㄟ^改變ButtonCount屬性的值來重新設置命令組中的包含的命令按鈕數目。
  • buttons屬性
    用于存取命令組中各按鈕的數組。該屬性數組在創(chuàng)建命令組時建立,用戶可以利用該數組為命令組中的命令按鈕設置屬性或調用其方法。例如,下面代碼可以放在與命令組myCommandG處于同一表單中的某個對象的 方法或事件代碼中,其命令組中的第二個按鈕設置成隱藏的:
        ThisForm.myCommandG.Buttons(2).Visible=.F.
    屬性數組下標的取值范圍應該在1至ButtonCount屬性值之間。
    該屬性在設計時不可用。除了命令組,還適合于選項組。
  • value屬性
    指定命令組當前的狀態(tài)。該屬性的類型可以是數值型的,也可以是字符型的。如果命令組內的某個按鈕有自己的click事件代碼,那么一旦單擊該按鈕,就會優(yōu)先執(zhí)行為它單獨設置的代碼,而不會執(zhí)行命令組的click事件代碼。
    該屬性在設計和運行時可用。

返回

文本框(textBox)控件
    用戶利用它可以在內存變量、數組元素或非備注型字段中輸入或編輯數據。文本框可以編輯任何類型的數據。如果編輯的是日期型或日期時間型數據,那么在整個內容被選定的情況下,按“+”或“-”,可以使日期增加一天或減少一天。
    為了在 TextBox 控件中顯示多行文本,要將 MultiLine 屬性設置為 True。如果多行 TextBox 沒有水平滾動條,那么即使 TextBox 調整了大小,文本也會自動換行。為了在 TextBox 上定制滾動條組合,需要設置 ScrollBars 屬性。如果文本框的 MultiLine 屬性設置為 True 而且它的 ScrollBars 沒有設置為 None (0),則滾動條總出現在文本框上。如果將 MultiLine 屬性設置為 True,則可以在 TextBox 內用 Alignment 屬性設置文本的對齊。如果 MultiLine 屬性是 False,則 Alignment 屬性不起作用。

常用的屬性為:

  • ControlSource屬性
     一般情況下,可以利用該屬性為文本框指定一個字段或內存變量。運行時,文本框首先顯示該變量的內容。而用戶對文本框的編輯結果,也會最終保存到該變量中。
    該屬性在設計和運行時可用。除了文本框,還適用于編輯框、命令組、選項按鈕、選項組、復選框、列表框、組合框等控件。
  • value屬性
    返回文本框當前內容。該屬性默認值是空串。如果ControlSource屬性指定了字段或內存變量,則該屬性將ControlSource屬性指定的變量具有相同的數據和類型。為了在對話框中創(chuàng)建一個密碼域應使用此屬性。雖然能夠使用任何字符,但是大多數基于 Windows 的應用程序使用 號 (*) (Chr(42))。此屬性不影響 Text 屬性;Text 準確地包括所鍵入或代碼中所設置的內容。將 PasswordChar 設置為長度為 0 的字符串 ("") (缺省值),將顯示實際的文本。能夠將任意字符串賦予此屬性,但只有第一個字符是有效的,所有其它的字符將被忽略。
    注意 如果 MultiLine 屬性被設為 True,那么設置 PasswordChar 屬性將不起效果。
  • InputMask屬性
    指定在一個文本框中如何輸入和顯示數據。
    InputMask屬性值是一個字符串。該字符串通常有一些所謂的模式符組成,每個模式符規(guī)定了相應的位置上數據的輸入和顯示行為。
X 允許輸入任何字符
9 允許輸入數字和正負號
# 允許輸入數字、空格和正負號
$ 在固定位置上顯示當前貨幣符號(由SET CURRENCY 命令指定)
$$ 在數值前面相鄰的位置上顯示當前貨幣符號(浮動貨幣符)
* 在數值左邊顯示*
. 指定小數點的位置
, 分隔小數點左邊的數字串

inputmask屬性值中可包含其他字符,這些字符在文本框中將會原樣顯示。
該屬性在設計和運行時可用。除了文本框,還適用于組合框、列等控件。

例 用表單設計一個登陸界面,如圖所示,當輸入用戶名和口令并按確認鍵后,檢驗其輸入是否正確,若正確(假定用戶名為ABCDEF,口令為123456),就顯示“歡迎使用...”若不正確,則顯示“用戶名或口令不對,”如果三次輸入不正確,就顯示“用戶名或口令不對,登陸失??!”并關閉。

要將“確認”按鈕設置為Default按鈕。另外,口令限制為6位數字,輸入時顯示*號。
內容要點:
假設“用戶名”文本框、“口令”文本框以及“確認”命令按鈕的name屬性值分別為Text1、Text2和command1。Text2的InputMask屬性值為999999,passwordChar屬性值為*。Command1的Default屬性值為.T.。
命令按鈕Command1的click事件代碼如下,其中num是為表單新添加的屬性,用以保存本次登陸輸入的次數。
if thisform.text1.value="ABCDEF" and thisform.text2.value="123456"
wait"歡迎使用..." window timeout 1
thisform.release
else
thisform.num=thisform.num+1
if thisform.num=3
WAIT"用戶名或口令不對,登陸失?。?window timeout 1
thisform.release
else
WAIT"用戶名或口令不對,請重輸!"window timeout 1
endif
endif
操作步驟:

  • 創(chuàng)建表單,然后在表單上添加兩個標簽、兩個文本框和一個命令按鈕。
  • 設置兩個標簽和一個命令按鈕的caption屬性值,并將命令按鈕的default屬性值設置為.T.。
  • 設置文本框text2的inputmask屬性值??稍谠O置框直接輸入999999或輸入="999999"。設置文本框text2的passwordchar屬性值。
  • 從“表單”菜單選擇“新建屬性”命令,打開“新建屬性”對話框,為表單添加新屬性num。然后在“屬性”窗口中將其默認值設為0。
  • 設置“確認”按鈕的click事件代碼。

返回

編輯框(editbox)控件
    與文本框相似,但它有自己的特點:編輯框實際上是一個完整的字處理器,利用它能夠選擇、剪切、粘貼以及復制正文;可以實現自動換行;能夠有自己的 垂直滾動條可以用箭頭鍵在正文里面移動光標。編輯框只能輸入、編輯字符型數據,包括字符型內存變量、數組元素、字段以及備注字段里的內容。

常用屬性有:

  • allowtabs屬性
    指定編輯框中能否使用tab鍵。其屬性值設置如表所示。該屬性在設計時和運行時均是可用的。
 設置值 說明
True (.T.) 編輯框里允許使用tab鍵;按Ctrl+Tab時焦點移出編輯框
False (.F.) 編輯框里不能使用tab鍵,按tab時焦點移出編輯框
  • hideselection屬性
    指定當前編輯框失去焦點時,編輯框中的選定的文本是否仍顯示為選定狀態(tài)。該屬性在設計時和運行時均是可用的。除了編輯框,還適用于文本框、組合框等控件。
     
 設置值 說明
True (.T.) (默認值)失去焦點時,編輯框中選定的文本不顯示為選定狀態(tài)。當編輯框再次獲得焦點時,選定文本重新顯示為選定狀態(tài)
False (.F.) 失去焦點時,編輯框中選定的文本仍顯示為選定狀態(tài)
  • readonly屬性
    指定用戶能夠編輯編輯框中的內容。其屬性設置如表所示。readonly屬性與enabled屬性是有區(qū)別的。盡管在readonly為.T.和enabled為.F.兩種情況下,都使編輯框具有只讀的特點,但在前兩種情況下,用戶仍能夠移動焦點至編輯框上并使用滾動條,而后種情況則不可能。該屬性在設計時可用,在運行時可讀寫。除了編輯框,還適用于文本框、表格等控件。

 設置值 說明
True (.T.) 不能編輯編輯框中的內容
False (.F.) (默認值)能夠編輯編輯框中的內容
  • srollbars屬性
    指定編輯框是否具有滾動條,當屬性值為0時,編輯框沒有滾動條;當屬性值為2時,編輯框有垂直滾動條。
    該屬性在設計時可用,在運行時可寫。除了編輯框,還適用于表單、表格等控件。

  • selstart屬性
    返回用戶在編輯框中所選文本的起始點位置(沒有文本選定時)。也可用以指定要選文本的起始位置或插入點位置。屬性的有效取值范圍在0與編輯區(qū)中的字符總數之間。
    該屬性在設計時不可用,在運行時可讀寫。除了編輯框,還適用于文本框、組合框等控件。

  • selLength屬性
    返回用戶在控件的文本輸入區(qū)中所選定字符的數目,或指定要選定的字符數目。屬性的有效范圍在0與編輯區(qū)中的字符總數之間,若小于0,將產生一個錯誤。
    該屬性在設計時不可用,在運行時可寫。除了編輯框,還適用于文本框、組合框等控件。

  • seltex屬性
    返回用戶編輯區(qū)內選定的文本,如果沒有選定任何文本,則返回空串。該屬性在設計時不可用,在運行時可讀寫。除了編輯框,還適用于文本框、組合框等控件。
    selstart屬性、selLength屬性和seltex屬性配合使用,可以完成諸如設置插入點的位置、控制插入點的移動范圍、選擇字串、清除文本等的一些任務。

使用這些屬性時,需要注意它們的以下行為:

  • 如果把sellength屬性值設置成小于0,將產生一個錯誤。
  • 如果selstart的設置值大于文本總字符數,系統(tǒng)將其調整為文本的總字符數,即插入點位于文本末尾。
  • 如果改變了selstart屬性的值,系統(tǒng)將自動把sellength屬性值設置0如果selstart屬性設置成一個新值,那么這個新值會去置換編輯區(qū)中的所選文本并將sellength置為0。
  • 如果sellength值本來就是0,那么新值就會被插入到插入點處。

例 表單里飽含一個編輯框edit1和兩個命令按鈕command1(查找)、command2(替換),如圖所示,要求:單擊command1時,選擇edit1里的某個單詞example;單擊command2時,用單詞exercise置換一選擇的單詞example。

內容要點:
編輯框的hideselection屬性值為.F.,這樣“查找”命令按鈕找到的字符串就會顯示成選定狀態(tài)。
命令按鈕command1的click事件代碼為:
n=at("example",thisform.edit1.value)
if n<>0
 thisform.edit1.selstart=n-1
  thisform.edit1.sellength=len("example")
else
WAIT WINDOWS"沒有相匹配的單詞"TIMEOUT1
endif
命令按鈕command2的click事件代碼為:
if thisform.edit1.seltex="example"
thisform.edit1.seltext="excercise"
else
WAIT WINDOWS"沒有選擇需要置換的單詞"TIMEOUT1
endif

操作步驟:

  • 創(chuàng)建表單,然后在表單上田紀一個編輯框兩個命令按鈕。
  • 檢查編輯框控件的name屬性值是否與題目中所說的名稱一致。
  • 如果不一致,應該進行設置,否則,就需要對上面的代碼作相應的修改。
  • 設置編輯框的hide selection屬性值。分別設置兩個命令按鈕的caption屬性值。
  • 分別為兩個命令按鈕設置click事件代碼。

返回

復選框(checkbox)控件
    一個復選框用于標記一個兩值狀態(tài),如真(.T.)或假(.F.)。當處于真狀態(tài)時,復選框內顯示一個對勾;否則,復選框內為空白。

  • caption屬性
    用來指定復選框旁邊的文字。
  • value屬性
    用來指明復選框的當前狀態(tài)。設置值有三種情況如表所示

復選框(checkbox)控件
    一個復選框用于標記一個兩值狀態(tài),如真(.T.)或假(.F.)。當處于真狀態(tài)時,復選框內顯示一個對勾;否則,復選框內為空白。

  • caption屬性
    用來指定復選框旁邊的文字。
  • value屬性
    用來指明復選框的當前狀態(tài)。設置值有三種情況如表所示
屬性值 說明
0或.f. (默認值),未被選中
1或.t. 被選中
2或.null. 不確定,只在代碼中有效
  • controlsource屬性
    指明與復選框建立聯系的數據源。作為數據源的字段變量或內存變量,其類型可以是邏輯型或數值型。對于邏輯型變量,值.F.、.T.和.null.分別對應復選框未被選中、被選中和不確定。對于數值型變量,值0、1和2(或.null.)分別對應復選框未被選中、被選中和不確定。用戶對復選框操作結果會自存儲到數據源變量以及value屬性中。
    復選框的不確定狀態(tài)與 不可選狀態(tài)不同。不確定狀態(tài)只表明復選框的當前狀態(tài)值不屬于兩個正常狀態(tài)之中的一個,但用戶仍能對其進行選擇操作,并使其變?yōu)榇_定狀態(tài)。而不可選狀態(tài)則表明用戶現在不適合針對它作出某種選擇。在屏幕上,不確定狀態(tài)復選框以灰色顯示,標題文字正常顯示。而不可選狀態(tài)復選框標題文字的顯示顏色由diasbledbackcolor和diasbledforecolor

返回

選項組(optiongroup)控件

    選項按鈕組是包含選項按鈕的容器。通常,選項按鈕允許用戶指定對話框中幾個操作選項中的一個,而不是輸入數據。

設置選項按鈕組中的選項按鈕數目

    在表單中創(chuàng)建一個選項按鈕組時,它默認地包含兩個選項按鈕,改變 ButtonCount 屬性可以設置選項按鈕組中的選項按鈕數目。

  • ButtonCount屬性
    設置 ButtonCount 屬性,表示所需的選項按鈕數目。
  • Value 屬性
    選項按鈕組的 Value 屬性表明用戶選定了哪一個按鈕。例如,選項按鈕組有六個選項按鈕,如果用戶選擇了第四個選項,選項按鈕組的 Value 屬性就是 4。
  • ControlSource 屬性
    指明與選項組建立聯系的數據源。作為選項組數據源的字段變量或內存變量,其類型可以示數值型或字符型。比如,變量值為數值型3,則選項組中第三個按鈕被選中;若變量值為字符型“option3”,則caption屬性值為“option3”的按鈕被選中。用戶對選項組操作結果會自動存儲到數據源變量以及value屬性中。
  • Buttons 屬性
    還可以在運行時刻使用 Buttons 屬性,并指定選項按鈕在組中的索引號來設置這些屬性。例如,如果 optCust 是組中的第三個按鈕,下面一行代碼同樣完成對 optCust 標題的設置:
    THISFORM.opgChoices.Buttons(3).Caption = "Sort by Customer"

返回

列表框(listbox)控件
    列表框提供一組條目(數據項),用戶可以從中選擇一個或多個條目。一般情況下,列表框顯示其中的若干條目,用戶可以通過滾動條瀏覽其他條目。
    常用的屬性:

  • rowsourcetype    rowsourcetype屬性指明列表框中條目數據源的類型,rowsource屬性指定列表框的條目數據源。    rowsourcetype屬性的取值范圍及含義如下表所示。
    屬性值 說明
    0 無(默認值)。在程序運行時,通過additem方法添加列表框條目,通過removeitem方法移去列表框條目
    1 值。通過rowsource屬性手工指定的具體的列表框條目
    2 別名。江表中的字段執(zhí)作為列表框的條目。columncount屬性指定要取的字段數目,也就是列表框的列數。指定的字段總是表中最前面的若干字段。
    3 sql語句。將sql select語句的執(zhí)行結果作為列表框的條目的數據源。
    4 查詢(.pqr)。將.pqr文件執(zhí)行產生的結果作為列表框條目的數據源
    5 數組。將數組中的內容作為列表框條目的來源。
    6 字段。將表中的一個或幾個字段作為列表框條目的數據源
    7 文件。將某個驅動器和目錄下的文件名作為列表框的條目,在運行時,用戶可以選擇不同的驅動器和目錄,可以利用文件名框架指定一部分文件。如要在列表框中顯示當前目錄下visual foxpro表文件清單,可將rowsource屬性設置為*.dbf
    8 結構。將表中的字段名作為列表框的條目,由rowsource屬性指定表。若Rowsource屬性值為空,則列表框顯示當前表中的 字段名清單
    9 彈出式菜單。將彈出式菜單作為列表框條目的數據源
兩個屬性在設計和運行時可用。還適合于組合框。
  • list屬性    用以存取列表框中數據條目的字符串數組。    該屬性在設計時不可用,在運行時可讀寫。還適合于組合框。
  • istcount屬性    指明列表框中數據條目的數目。    該屬性在設計時不可用,在運行時只讀。還適合于組合框。
  • columncount屬性    指定列表框的列數    對于列表框和組合框,該屬性在設計和運行時可用。還適合于組合框和表格。
  • value屬性    返回列表框中別選中的條目。該屬性值可以是數值型也可以是字符型。如果列表框不止一列,則返回由    boundcolumn指明的列上的數據項。    對于列表框和組合框。該屬性只讀,該屬性的取值及類型總是與controlsource屬性所指定的字段或內存變量    的取值及類型保持一致。
  • controlsource屬性    該屬性在列表框中的用法與其他控件中的用法有所不同。在這里,用戶可以通過該屬性指定的一個字段或變量    用以保存用戶從列表框中選擇的結果。
  • selectd屬性    制定列表框內的某個條目是否處于選定狀態(tài)。
  • multiselect屬性    指定用戶能否在列表框控件內進行多重選定。
返回
組合框(combox)控件組合框和列表框類似,主要區(qū)別在于:組合框只有一個條目是可見的。組合框不提供多重選擇的功能。
組合框有兩種形式:下拉組合框和下拉列表框,通過設置style屬性可選擇想要的形式。
返回

表格控件
    表格是一個容器對象,和表單集包含表單一樣,表格也能包含列。這些列除了包含標頭和控件外,每一個列還擁有自己的一組屬性、事件方法程序,從而為表格單元提供了大量的控件。

表格設計的基本操作

  • 調整表格中列的寬度
    在表格設計方式下,將鼠標指針置于表格列的標頭之間,這時指針變?yōu)閹в凶笥覂蓚€方向箭頭的豎條。
    將列拖動到需要的寬度或者在“屬性”窗口中設置列的 Width 屬性。
  • 調整表格中行的高度

  1. 在表格設計方式下,將鼠標指針置于“表格”控件左側的第一個按鈕和第二個按鈕之間,這時指針將變成帶有向上和向下箭頭的橫條。

  2. 將行拖動到需要的寬度。

 – 或者 –在“屬性”窗口中設置列的 Height 屬性。
提示AllowRowSizing 設置為“假”(.F.),可以防止用戶在運行時刻改變表格行的高度。

表格設計也可以調用表格生成器來進行。步驟如下:
  • 先在表單上放置一個表格。
  • 右鍵單擊表格在彈出的快捷菜單中選擇表單生成器打開生成器對話框,然后設置有關參數。

生成器選項卡的含義

  • 表格項指定要在表格中顯示的字段。

  • 樣式指定表格顯示的樣式。

  • 布局指定列標題和控件類型。

  • 關系指定表格字段與表字段之間的關系。

常用的表格屬性

  • recordsourcetype屬性
    recordsourcetype屬性指明表格數據源的類型,recordsource屬性指定表格數據源。

屬性值 說明
0 表。數據來源于由recordsourse屬性指定的表,該表被自動打開
1 (默認值)別名。數據來源于已打開的表,由recordsource屬性指定該表的別名
2 提示。運行時,由用戶根據提示選擇表格數據源
3 查詢。數據來源于查詢,由recordsource屬性指定一個查詢文件
4 sql語句,數據來源于sql語句,由recordsource屬性指定一條sql語句
設置了表格的recordsource屬性后,可以通過cintrolsource屬性為表格中的一列指定它所要顯示的內容,如果不指定,該列將顯示表格數據源中下一個沒有顯示的字段。這兩個屬性在設計時可用,在運行時可讀寫,都適用于表格。
  • ColumnCount 屬性    指定列的數目。如果 ColumnCount 設置為 -1,表格將具有和表格數據源中字段數一樣多的列。
  • linkmasker屬性    顯示在表格中的子記錄的父表。
  • childorder    和父表主關鍵字相聯接的子表中的外部關鍵字
  • relationalexpr屬性    確定基于主表字段的關聯表達式。

常用的列屬性

下表列出了在設計時刻常用的列屬性。

屬性 說明
ControlSource 在列中要顯示的數據。常見的是表中的一個字段。
Sparse 如果將 Sparse 屬性設置為“真”(.T.),表格中控件只有在列中的單元被選中時才顯示為控件(列中的其他單元仍以文本形式顯示)。將 Sparse 設置為“真”(.T.),允許用戶在滾動一個有很多顯示行的表格時能快速重畫。
CurrentControl 表格中哪一個控件是活動的。默認值為“Text1”。如果在列中添加了一個控件,則可以將它指定為 CurrentControl。

交互地在表格列中添加控件,操作步驟如下:

  1. 表單中添加一個表格。
    “屬性”窗口中,將表格的 ColumnCount 屬性設置為需要的列數。
    例如,如果需要一個兩列的表格則鍵入“2”。
  2. 在“屬性”窗口的“對象”框中為控件選擇父列。
    例如,要選擇 Column1 來添加控件,當選擇這一列時,表格的邊框發(fā)生變化,表明正在編輯一個包含其中的對象。
  3. “表單控件”工具欄中選擇所要的控件,然后單擊父列。
    在“表單設計器”中,新控件不在表格列中顯示,但在運行時刻會顯示出來。
  4. 在“屬性”窗口中,要確保該控件縮進顯示在“對象”框中父列下面。如果新控件是一個復選框,應將復選框的 Caption 屬性設置為“ ”,并將列的 Sparse 屬性設置“假”(.F.)。
  5. 將父列的 ControlSource 屬性設置為需要的表字段。
    例如,下面的演示中,列的 ControlSource 屬性是文件 TESTDATA.DBC 的 products.discontinu,這個文件保存在 \Samples\VFP\DATA 目錄下。
  6. 將父列的 CurrentControl 屬性設置為新加入的控件。

當運行表單時,這個控件將顯示在表格列中。
在運行時刻,復選框顯示在列中。
提示 如果想讓復選框在表格列中居中,可先創(chuàng)建一個容器類,將復選框添加到容器類中,并調整復選框在容器類中的位置。然后將容器類添加到表格列中,并將復選框的 ControlSource 屬性設置為需要的字段。

若要在“表單設計器”中移去表格列中的控件。

  1. “屬性”窗口的對象框中選擇要移去的控件。
  2. 激活“表單設計器”。
  3. 如果“屬性”窗口可見,控件的名稱將顯示在“對象”框中。
  4. 按下 DELETE 鍵。

也可以在代碼中使用 AddObject 方法程序將控件添加到表格列中。

返回

頁框(pageframe)控件
  
頁框是包含頁面的容器對象,頁面又可包含控件。可以在頁框、頁面或控件級上設置屬性。
    查看使用頁框的示例操作如下:

  1. 運行 Solution.app ,該文件位于 Visual Studio …\Samples\Vfp98\Solution 目錄下。
  2. 在目錄樹視圖中,單擊“Controls”,然后選取“Page frame”。

可以把頁框想象為有多層頁面的三維容器,只有最上層頁面(或在頁框的頂部)中的控件才是可見和活動的。

    表單上一個頁框可有多個頁面,頁框定義了頁面的位置和頁面的數目,頁面的左上角固定在頁框的左上角??丶芊胖迷诔鲰摽虺叽绲捻撁嫔?。這些控件是活動的,但如果不從程序中改變頁框的 HeightWidth 屬性,那么這些控件不可見。
    使用頁框和頁面,可以創(chuàng)建帶選項卡的表單或對話框,和“項目管理器”中見到的一樣。
    此外,用頁框還能在表單中定義一個區(qū)域,在這個區(qū)域中可以方便地將控件換入換出。例如,在向導中,表單的大部分內容是保持不變的,但有一個區(qū)域在每一步都要更改。此時不必為向導的不同步驟創(chuàng)建五個表單,而只需創(chuàng)建一個帶有頁框的表單,頁框中有五個頁面即可。

    將頁框添加到表單的操作步驟如下:

  1. “表單控件”工具欄中,選擇“頁框”按鈕并在“表單”窗口拖動到想要的尺寸。
  2. 設置 PageCount 屬性,指定頁框中包含的頁面數。

    向頁框中添加控件的操作步驟如下:

  1. 從頁框的快捷菜單中選擇“編輯”命令,將頁框激活為容器。頁框的邊框變寬,表示它處于活動狀態(tài)。

  2. 同與向表單中添加控件的方法,向頁框中添加控件。

注釋 和其他容器控件一樣,必須選擇頁框,并從用鼠標右鍵彈出的快捷菜單中選擇“編輯”命令,或在“屬性”窗口的“對象”下拉列表中選擇容器。這樣,才能先選擇這個容器(具有寬邊),再朝正設計的頁面中添加控件。在添加控件前,如果沒有將頁框作為容器激活,控件將添加到表單中而不是頁面中,即使看上去好象是在頁面中。

    在頁框中選擇不同的頁面的操作方法如下:

  1. 單擊鼠標右鍵,將頁框作為容器激活,然后選擇“編輯”。

  2. 選擇要使用的頁面選項卡。

– 或者 –

   在“屬性”窗口的“對象”框中選擇這一頁面。

– 或者 –

   在“表單設計器”底部的“頁”框中選擇這一頁面。

   將控件添加到頁面上的操作方法:

   如果將控件添加到頁面上,它們只有在頁面活動時才可見和活動。

  1. “屬性”窗口的“對象”框中選擇頁面,頁框的周圍出現邊框,表明可以操作其中包含的對象。
  2. “表單控件”工具欄中,選擇想要的控件按鈕并在頁面中調整到想要的大小。

   管理“頁面”選項卡上的長標題

     如果選項卡上的標題太長,不能在給定頁框寬度和頁面數的選項卡上顯示出來,可以有下面兩種選擇:

  • TabStretch 屬性設置為“1 - 單行”,這樣只顯示能放入選項卡中的標題字符,“單行”是默認設置。
  • 將 TabStretch 屬性設置為“0 - 多重行”,這樣選項卡將層疊起來,以便所有選項卡中的整個標題都能顯示出來。

   在程序中換頁面

     不管頁框是否具有選項卡,都可以從程序中使用 ActivePage 屬性來激活一個頁面。例如,下面列出表單中一個命令按鈕的 Click 事件過程代碼,它將表單中頁框的活動頁面改為第三頁面。
THISFORM.pgfOptions.ActivePage = 3
 

常用的頁框屬性

下表列出了在設計時刻常用的頁框屬性。

屬性 說明
Tabs 確定頁面的選項卡是否可見。
TabStyle 是否選項卡都是相同的大小,并且都與頁框的寬度相同。
PageCount 頁框的頁面數。

例 設計一個包含兩個選項卡的查詢對話框,用于設置查詢學生數據時所需的參數。“條件”選項卡用于設置出生日期,“輸出”選項卡用于設置顯示字段。單擊“確認”按鈕將根據設置的參數查詢顯示有關學生數據。單擊“取消”按鈕,關閉對話框。
 

條件選項卡

“輸出”選項卡

操作過程:

  1. 創(chuàng)建一個新表單,打開“數據環(huán)境設計器”窗口,向其中添加學生表。
  2. 通過“表單控件”工具欄在表單上添加一個頁框控件和兩個命令按鈕。
  3. 右鍵單擊頁框控件,在彈出的快捷菜單中選擇“編輯”命令。單擊選擇頁框中的第一個頁面(page1),然后在其中添加選項組(將buttoncount屬性值設置成4),并添加相應的標簽和文本框控件。
  4. 單擊頁框中的第二個頁面(page2),然后在其中添加兩個列表框及相應的標簽和命令按鈕。
  5. 設置表單及表單中的各標簽、命令按鈕和選項按鈕的caption屬性值,并調整好表單及表單內各控件的位置與大小。
  6. 將“可選字段”列表框(list1)的rowsourcetype屬性值設置成8(結構),rowsource屬性值設置成“學生”,multiselect屬性值設置成.t.。
  7. 將“被選字段”列表框(list2)的rowsourcetype屬性值設置成0(無),multiselect屬性值設置成.t.。該列表框的條目將在表單運行過程中通過方法additem和removeitem添加和刪除。
  8. 為使表單符合對話框的特點,將表單的maxbutton和minbutton屬性值設置成.f.,
  9. 設置“所有學生”選項按鈕的click事件代碼:
    this.parent.parent.text1.enabled=.f.
    this.parent.parent.text2.enabled=.f.
    this.parent.parent.text3.enabled=.f.
    this.parent.parent.text4.enabled=.f.
  10. 設置其他各選項按鈕的click事件代碼。
    設置“在……之前”選項按鈕的click事件代碼:
    this.parent.parent.text2.enabled=.f.
    this.parent.parent.text3.enabled=.f.
    this.parent.parent.text4.enabled=.f.
    this.parent.parent.text1.enabled=.t.
    設置“在……之后”選項按鈕的click事件代碼:
    this.parent.parent.text1.enabled=.f.
    this.parent.parent.text3.enabled=.f.
    this.parent.parent.text4.enabled=.f.
    this.parent.parent.text2.enabled=.t.
    設置“在……之間”選項按鈕的click事件代碼:
    this.parent.parent.text1.enabled=.f.
    this.parent.parent.text2.enabled=.f.
    this.parent.parent.text3.enabled=.t.
    this.parent.parent.text4.enabled=.t.
  11. 設置“添加”命令按鈕的click事件代碼:
    for i=1 to this.parent.list1.listcount
    if this.parent.list1.selected(i)
       this.parent.list2.additem(this.parent.list1.list(i))
    endif
    endfor
  12. 設置“移去”命令按鈕的click事件代碼:
    i=1
    do while i<=this.parent.list2.listcount
    if this.parent.list2.selected(i)
      this.parent.list2.removeitem(i)
    else
      i=i+1
    endif
    enddo
  13. 設置“確認”命令按鈕的click事件代碼:
    *生成條件表達式字符串
    cond=""
    me=thisform.pageframe1.page1.optiongroup1.value
    do case
    case me=2
    cond="出生日期<ctod(thisform.pageframe1.page1.text1.value)"
    case me=3
    cond="出生日期>ctod(thisform.pageframe1.page1.text2.value)"
    case me=4
    cond="出生日期>ctod(thisform.pageframe1.page1.text3.value);
    .and.出生日期<ctod(thisform.pageframe1.page1.text4.value)"
    endcase
    *生成輸出項字符串
    items=""
    if thisform.pageframe1.page2.list2.listcount=0
    items="*"
    else
    for i=1 to thisform.pageframe1.page2.list2.listcount
    items=items+thisform.pageframe1.page2.list2.list(i)+","
    endfor
    items=subs(items,1,len(items)-1)
    endif
    if cond==""
    select &items from 學生表
    else
    select &items from 學生表 where &cond
    endif
  14. 設置“取消”命令按鈕的click事件代碼:
    thisform.release
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
看實例學VFP:編程方式向表單添加新控件
為表格控件(Grid Control)增加復制和粘貼功能
第八章 表單設計
VFP動態(tài)定位打印表格
表單及常用控件小結
看實例學VFP:制作系統(tǒng)登錄表單
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服