乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      常用的表單控件

       悟靜 2009-04-23
      常用的表單控件

      標(biāo)簽(Label)控件
      命令按鈕(CommandButton) 控件
      命令組(CommandGroup)控件
      文本框(textBox)控件
      編輯框(editbox)控件
      復(fù)選框(checkbox)控件
      選項(xiàng)組(optiongroup)控件
      列表框(listbox)控件
      組合框(combox)控件
      表格控件
      頁(yè)框控件

      標(biāo)簽(Label)控件

          可以編寫(xiě)代碼來(lái)改變 Label 控件顯示的文本,以響應(yīng)運(yùn)行時(shí)的事件。例如,如果一個(gè)應(yīng)用程序要幾分鐘時(shí)間作改動(dòng),則可以顯示 Label 中的進(jìn)程狀態(tài)信息。還可以使用 Label 來(lái)標(biāo)識(shí)控件,例如 TextBox 控件沒(méi)有自己的 Caption 屬性,這時(shí)就可以使用 Label 來(lái)標(biāo)識(shí)這個(gè)控件。
          Label 控件中定義訪問(wèn)鍵時(shí),就可以按 ALT + 設(shè)定的字符來(lái)把焦點(diǎn)移動(dòng)到 TAB 鍵順序中的下一個(gè)控件。
      常用的標(biāo)簽屬性

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

      語(yǔ)法
      object.Alignment [= number],該屬性的設(shè)置值如表所述。

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

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

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

      操作步驟:

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

      返回

      命令按鈕(CommandButton) 控件

          CommandButton 控件可以開(kāi)始、中斷或者結(jié)束一個(gè)進(jìn)程。選取這個(gè)控件后,CommandButton 顯示按下的形狀,所以有時(shí)也稱之為下壓按鈕。為了在 CommandButton 控件上顯示文本,需要設(shè)置其 Caption 屬性。可以通過(guò)單擊 CommandButton 選中這個(gè)按鈕。為了能夠在按 ENTER 鍵時(shí)也選中命令按鈕,需要將其 Default 屬性設(shè)置為 True。為了能夠按 ESC 鍵時(shí)也選中 CommandButton,則需要將 CommandButton Cancel 屬性設(shè)置成 True。

      常用屬性有以下幾個(gè):

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

        設(shè)置值
        boolean 的設(shè)置值為

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

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

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

      返回

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

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

      返回

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

      常用的屬性為:

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

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

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

      要將“確認(rèn)”按鈕設(shè)置為Default按鈕。另外,口令限制為6位數(shù)字,輸入時(shí)顯示*號(hào)。
      內(nèi)容要點(diǎn):
      假設(shè)“用戶名”文本框、“口令”文本框以及“確認(rèn)”命令按鈕的name屬性值分別為T(mén)ext1、Text2和command1。Text2的InputMask屬性值為999999,passwordChar屬性值為*。Command1的Default屬性值為.T.。
      命令按鈕Command1的click事件代碼如下,其中num是為表單新添加的屬性,用以保存本次登陸輸入的次數(shù)。
      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"用戶名或口令不對(duì),登陸失?。?window timeout 1
      thisform.release
      else
      WAIT"用戶名或口令不對(duì),請(qǐng)重輸!"window timeout 1
      endif
      endif
      操作步驟:

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

      返回

      編輯框(editbox)控件
          與文本框相似,但它有自己的特點(diǎn):編輯框?qū)嶋H上是一個(gè)完整的字處理器,利用它能夠選擇、剪切、粘貼以及復(fù)制正文;可以實(shí)現(xiàn)自動(dòng)換行;能夠有自己的 垂直滾動(dòng)條可以用箭頭鍵在正文里面移動(dòng)光標(biāo)。編輯框只能輸入、編輯字符型數(shù)據(jù),包括字符型內(nèi)存變量、數(shù)組元素、字段以及備注字段里的內(nèi)容。

      常用屬性有:

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

       設(shè)置值 說(shuō)明
      True (.T.) 不能編輯編輯框中的內(nèi)容
      False (.F.) (默認(rèn)值)能夠編輯編輯框中的內(nèi)容
      • srollbars屬性
        指定編輯框是否具有滾動(dòng)條,當(dāng)屬性值為0時(shí),編輯框沒(méi)有滾動(dòng)條;當(dāng)屬性值為2時(shí),編輯框有垂直滾動(dòng)條。
        該屬性在設(shè)計(jì)時(shí)可用,在運(yùn)行時(shí)可寫(xiě)。除了編輯框,還適用于表單、表格等控件。

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

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

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

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

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

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

      內(nèi)容要點(diǎn):
      編輯框的hideselection屬性值為.F.,這樣“查找”命令按鈕找到的字符串就會(huì)顯示成選定狀態(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"沒(méi)有相匹配的單詞"TIMEOUT1
      endif
      命令按鈕command2的click事件代碼為:
      if thisform.edit1.seltex="example"
      thisform.edit1.seltext="excercise"
      else
      WAIT WINDOWS"沒(méi)有選擇需要置換的單詞"TIMEOUT1
      endif

      操作步驟:

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

      返回

      復(fù)選框(checkbox)控件
          一個(gè)復(fù)選框用于標(biāo)記一個(gè)兩值狀態(tài),如真(.T.)或假(.F.)。當(dāng)處于真狀態(tài)時(shí),復(fù)選框內(nèi)顯示一個(gè)對(duì)勾;否則,復(fù)選框內(nèi)為空白。

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

      復(fù)選框(checkbox)控件
          一個(gè)復(fù)選框用于標(biāo)記一個(gè)兩值狀態(tài),如真(.T.)或假(.F.)。當(dāng)處于真狀態(tài)時(shí),復(fù)選框內(nèi)顯示一個(gè)對(duì)勾;否則,復(fù)選框內(nèi)為空白。

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

      返回

      選項(xiàng)組(optiongroup)控件

          選項(xiàng)按鈕組是包含選項(xiàng)按鈕的容器。通常,選項(xiàng)按鈕允許用戶指定對(duì)話框中幾個(gè)操作選項(xiàng)中的一個(gè),而不是輸入數(shù)據(jù)。

      設(shè)置選項(xiàng)按鈕組中的選項(xiàng)按鈕數(shù)目

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

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

      返回

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

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

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

      表格設(shè)計(jì)的基本操作

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

      1. 在表格設(shè)計(jì)方式下,將鼠標(biāo)指針置于“表格”控件左側(cè)的第一個(gè)按鈕和第二個(gè)按鈕之間,這時(shí)指針將變成帶有向上和向下箭頭的橫條。

      2. 將行拖動(dòng)到需要的寬度。

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

      表格設(shè)計(jì)也可以調(diào)用表格生成器來(lái)進(jìn)行。步驟如下:
      • 先在表單上放置一個(gè)表格。
      • 右鍵單擊表格在彈出的快捷菜單中選擇表單生成器打開(kāi)生成器對(duì)話框,然后設(shè)置有關(guān)參數(shù)。

      生成器選項(xiàng)卡的含義

      • 表格項(xiàng)指定要在表格中顯示的字段。

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

      • 布局指定列標(biāo)題和控件類型。

      • 關(guān)系指定表格字段與表字段之間的關(guān)系。

      常用的表格屬性

      • recordsourcetype屬性
        recordsourcetype屬性指明表格數(shù)據(jù)源的類型,recordsource屬性指定表格數(shù)據(jù)源。

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

      常用的列屬性

      下表列出了在設(shè)計(jì)時(shí)刻常用的列屬性。

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

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

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

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

      若要在“表單設(shè)計(jì)器”中移去表格列中的控件。

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

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

      返回

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

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

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

          表單上一個(gè)頁(yè)框可有多個(gè)頁(yè)面,頁(yè)框定義了頁(yè)面的位置和頁(yè)面的數(shù)目,頁(yè)面的左上角固定在頁(yè)框的左上角。控件能放置在超出頁(yè)框尺寸的頁(yè)面上。這些控件是活動(dòng)的,但如果不從程序中改變頁(yè)框的 HeightWidth 屬性,那么這些控件不可見(jiàn)。
          使用頁(yè)框和頁(yè)面,可以創(chuàng)建帶選項(xiàng)卡的表單或?qū)υ捒?,?#8220;項(xiàng)目管理器”中見(jiàn)到的一樣。
          此外,用頁(yè)框還能在表單中定義一個(gè)區(qū)域,在這個(gè)區(qū)域中可以方便地將控件換入換出。例如,在向?qū)?/font>中,表單的大部分內(nèi)容是保持不變的,但有一個(gè)區(qū)域在每一步都要更改。此時(shí)不必為向?qū)У牟煌襟E創(chuàng)建五個(gè)表單,而只需創(chuàng)建一個(gè)帶有頁(yè)框的表單,頁(yè)框中有五個(gè)頁(yè)面即可。

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

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

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

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

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

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

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

      1. 單擊鼠標(biāo)右鍵,將頁(yè)框作為容器激活,然后選擇“編輯”。

      2. 選擇要使用的頁(yè)面選項(xiàng)卡。

      – 或者 –

         在“屬性”窗口的“對(duì)象”框中選擇這一頁(yè)面。

      – 或者 –

         在“表單設(shè)計(jì)器”底部的“頁(yè)”框中選擇這一頁(yè)面。

         將控件添加到頁(yè)面上的操作方法:

         如果將控件添加到頁(yè)面上,它們只有在頁(yè)面活動(dòng)時(shí)才可見(jiàn)和活動(dòng)。

      1. “屬性”窗口的“對(duì)象”框中選擇頁(yè)面,頁(yè)框的周?chē)霈F(xiàn)邊框,表明可以操作其中包含的對(duì)象。
      2. “表單控件”工具欄中,選擇想要的控件按鈕并在頁(yè)面中調(diào)整到想要的大小。

         管理“頁(yè)面”選項(xiàng)卡上的長(zhǎng)標(biāo)題

           如果選項(xiàng)卡上的標(biāo)題太長(zhǎng),不能在給定頁(yè)框?qū)挾群晚?yè)面數(shù)的選項(xiàng)卡上顯示出來(lái),可以有下面兩種選擇:

      • TabStretch 屬性設(shè)置為“1 - 單行”,這樣只顯示能放入選項(xiàng)卡中的標(biāo)題字符,“單行”是默認(rèn)設(shè)置。
      • 將 TabStretch 屬性設(shè)置為“0 - 多重行”,這樣選項(xiàng)卡將層疊起來(lái),以便所有選項(xiàng)卡中的整個(gè)標(biāo)題都能顯示出來(lái)。

         在程序中換頁(yè)面

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

      常用的頁(yè)框?qū)傩?/h4>

      下表列出了在設(shè)計(jì)時(shí)刻常用的頁(yè)框?qū)傩浴?/span>

      屬性 說(shuō)明
      Tabs 確定頁(yè)面的選項(xiàng)卡是否可見(jiàn)。
      TabStyle 是否選項(xiàng)卡都是相同的大小,并且都與頁(yè)框的寬度相同。
      PageCount 頁(yè)框的頁(yè)面數(shù)。

      例 設(shè)計(jì)一個(gè)包含兩個(gè)選項(xiàng)卡的查詢對(duì)話框,用于設(shè)置查詢學(xué)生數(shù)據(jù)時(shí)所需的參數(shù)。“條件”選項(xiàng)卡用于設(shè)置出生日期,“輸出”選項(xiàng)卡用于設(shè)置顯示字段。單擊“確認(rèn)”按鈕將根據(jù)設(shè)置的參數(shù)查詢顯示有關(guān)學(xué)生數(shù)據(jù)。單擊“取消”按鈕,關(guān)閉對(duì)話框。
       

      條件選項(xiàng)卡

      “輸出”選項(xiàng)卡

      操作過(guò)程:

      1. 創(chuàng)建一個(gè)新表單,打開(kāi)“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口,向其中添加學(xué)生表。
      2. 通過(guò)“表單控件”工具欄在表單上添加一個(gè)頁(yè)框控件和兩個(gè)命令按鈕。
      3. 右鍵單擊頁(yè)框控件,在彈出的快捷菜單中選擇“編輯”命令。單擊選擇頁(yè)框中的第一個(gè)頁(yè)面(page1),然后在其中添加選項(xiàng)組(將buttoncount屬性值設(shè)置成4),并添加相應(yīng)的標(biāo)簽和文本框控件。
      4. 單擊頁(yè)框中的第二個(gè)頁(yè)面(page2),然后在其中添加兩個(gè)列表框及相應(yīng)的標(biāo)簽和命令按鈕。
      5. 設(shè)置表單及表單中的各標(biāo)簽、命令按鈕和選項(xiàng)按鈕的caption屬性值,并調(diào)整好表單及表單內(nèi)各控件的位置與大小。
      6. 將“可選字段”列表框(list1)的rowsourcetype屬性值設(shè)置成8(結(jié)構(gòu)),rowsource屬性值設(shè)置成“學(xué)生”,multiselect屬性值設(shè)置成.t.。
      7. 將“被選字段”列表框(list2)的rowsourcetype屬性值設(shè)置成0(無(wú)),multiselect屬性值設(shè)置成.t.。該列表框的條目將在表單運(yùn)行過(guò)程中通過(guò)方法additem和removeitem添加和刪除。
      8. 為使表單符合對(duì)話框的特點(diǎn),將表單的maxbutton和minbutton屬性值設(shè)置成.f.,
      9. 設(shè)置“所有學(xué)生”選項(xiàng)按鈕的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. 設(shè)置其他各選項(xiàng)按鈕的click事件代碼。
        設(shè)置“在……之前”選項(xiàng)按鈕的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.
        設(shè)置“在……之后”選項(xiàng)按鈕的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.
        設(shè)置“在……之間”選項(xiàng)按鈕的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. 設(shè)置“添加”命令按鈕的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. 設(shè)置“移去”命令按鈕的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. 設(shè)置“確認(rèn)”命令按鈕的click事件代碼:
        *生成條件表達(dá)式字符串
        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
        *生成輸出項(xiàng)字符串
        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 學(xué)生表
        else
        select &items from 學(xué)生表 where &cond
        endif
      14. 設(shè)置“取消”命令按鈕的click事件代碼:
        thisform.release

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多