1、 文本框自動(dòng)完成
你是否曾夢想過給文本框添加一種看起來更流行的“輸入常用的單詞或短語就出現(xiàn)一個(gè)下拉列表”的外觀?通過使用 VFP 智能感知的核心引擎,VFP 開發(fā)組給了我們這樣一種很酷的新功能,并且不但令人驚訝的易于使用,而且完全可以擴(kuò)充。 讓我們來嘗試一下,將一個(gè)文本框拖放到表單上(或者打開一個(gè)有文本框的任何一個(gè)表單),將文本框新的 AutoComplete 屬性設(shè)置為一個(gè)非零值,這樣就搞定了!運(yùn)行幾次這個(gè)表單,在文本框里輸入一些內(nèi)容,然后就看魔術(shù)表演吧!你也可以用下面這樣的代碼來讓表格中的文本框支持 AutoComplete: THISFORM.Grid1.Column1.Text1.AutoComplete = 1 AutoComplete 屬性控制著自動(dòng)完成的行為表現(xiàn),可用的值如下:
※ 0 —— 不使用自動(dòng)完成;
※ 1 —— 按字母順序;
※ 2 —— 最常用的;
※ 3 —— 最近使用的;
※ 4 —— 用戶自定義的加權(quán)排序(Weighted Order);
這些選項(xiàng)中的最后一個(gè)需要特別注意一下。當(dāng) AutoComplete 的值在 1-3 之間的時(shí)候,自動(dòng)完成的功能是系統(tǒng)自維護(hù)的,而用戶自定義加權(quán)排序的值4則讓你可以通過給 AutoComp.DBF 表中的 Weight 字段賦以一個(gè)數(shù)值型值來指定各個(gè)數(shù)據(jù)項(xiàng)的顯示順序(最大的 Weight值顯示在下拉列表的頂部)。 默認(rèn)的 AutoComp.DBF 表位于 HOME(7) 目錄下(譯者注:使用參數(shù)7,該函數(shù)返回用戶應(yīng)用程序的數(shù)據(jù)目錄。),但你可以通過在全局的層次上設(shè)置 _SCREEN.AutoCompTable、或者在單個(gè)文本框的層次上設(shè)置 Text1.AutoCompTable來覆蓋默認(rèn)的設(shè)置。不管你在哪個(gè)屬性中指定一個(gè)表,如果這個(gè)表不存在,則系統(tǒng)會(huì)自動(dòng)為你新建一個(gè)。你可以同時(shí)擁有多個(gè)AutoComp表,而每個(gè)表也可以服務(wù)于一個(gè)或多個(gè)文本框,VFP會(huì)管理這些在一個(gè)隱藏的數(shù)據(jù)工作期內(nèi)的表的打開和關(guān)閉。 在 AutoComp 表中,除非你給文本框設(shè)置了 AutoCompSource 屬性,否則這個(gè)文本框的 Name 將作為決定顯示哪些數(shù)據(jù)項(xiàng)的查詢關(guān)鍵字,反之,則使用 AutoCompSource 屬性指定的值。要想讓多個(gè)文本框共享自動(dòng)完成提供的值的話,只要簡單的把這些文本框的 AutoCompSouce 屬性設(shè)置為相同的值就可以里,例如設(shè)置為 NameAutoComp或者Cities。 通過在運(yùn)行時(shí)將 AutoCompSource 動(dòng)態(tài)的設(shè)置為一個(gè)代表某個(gè)用戶的特定代碼的字符串、或者在屬性表中設(shè)置如下的代碼,你甚至可以為你所在組織中的每個(gè)人啟用獨(dú)特的自動(dòng)完成列表: = "Custs_" + LoginName 不過,如果采用了這種辦法,你需要注意的是在 AutoComp 表中作為搜索關(guān)鍵字的 Source 字段只有 20個(gè)字符大小。當(dāng)然,你可以自己建一個(gè)有著更大長度的 Source 字段的表作為 AutoComp 表,可是如果在為一個(gè)特定的文本框初次使用AutoComplete功能的時(shí)候你讓 VFP 自動(dòng)為你建立這個(gè)表,那么這個(gè)表中的 Source 字段的長度默認(rèn)就是 20個(gè)字符。 要在測試的時(shí)候看看 AutoComp 表中發(fā)生了什么事情,你可以從 VFP 的另一個(gè)數(shù)據(jù)工作期內(nèi)共享打開這個(gè)表來瀏覽它的內(nèi)容,或者也可以在命令窗口中執(zhí)行如下代碼:
USE HOME(7) + "autocomp.dbf" SHARED IN 0
SELECT autocomp
BROWSE
本文導(dǎo)航
- 第1頁: 首頁
- 第2頁: 文本框自動(dòng)完成
- 第3頁: 使用新的報(bào)表引擎來建立 HTML 或者 XML
- 第4頁: 組合多個(gè) ReportListener 以提供多種輸出
- 第5頁: 將報(bào)表保存為圖形文件
- 第6頁: 使用新的超小型二進(jìn)制索引
- 第7頁: 用新的ICASE()函數(shù)一行搞定
- 第8頁: 停靠你的表單
- 第9頁: 使用新的數(shù)據(jù)瀏覽面板
- 第10頁: 為了能使用戶更好的對數(shù)據(jù)類型進(jìn)行控制
- 第11頁: 超級SYS
- 第12頁: 控件的Anchor屬性
- 第13頁: 自定義Memo編輯窗口
- 第14頁: 畫多邊形