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