MaskedEdit 控制件
MaskedEdit 控件是編輯欄位控制件,其中包含控件文字欄位中的遮罩。 您可以將屬性名稱輸入 控件數據表的 [屬性] 資料行,建立控件與字串值屬性的關聯。
您可以使用 MaskedEdit 控制項,為使用者輸入電話號碼或產品識別碼等資訊建立範本。 例如,PIDKEY 屬性可由使用者透過 MaskedEdit 控制件輸入,方法是將 PIDTemplate Property 設定為如下所示的字元串:
12345<### -%%%%%%%>@@@@@
字串會針對使用者所 PIDKEY 的專案定義遮罩範本 Property。 字串的可見區段會以一對括弧 (<>) 字元括住。
下表識別出遮罩的語法。
字元 | 意義 |
---|---|
< | 範本可見區段的左端。 此字元及其左側的所有內容會隱藏在用戶介面中。 範本中不應該有一個以上的這個字元實例。 |
> | 範本可見區段的右端。 此字元及其右側的所有內容會隱藏在用戶介面中。 此字元會在驗證期間由虛線取代。 如果有可見的區段開頭為 <,則必須以相符的 >終止。 |
# | 此字元可以是數位(數位)。 |
% | 此字元可以是替代數位(數位),可讓遮罩控制自定義動作區分字段的方式。 |
@ | 此字元可以是隨機數位(數位)。此字元不應該出現在範本的可見部分。 |
& | 此字元可以是任何字元。 |
^ | 此字元可以是替代字元,可讓遮罩控制自定義動作區分字段的方式。 |
? | 此字元可以是替代字元,可讓遮罩控制自定義動作區分字段的方式。 |
` | 嚴重強調符號 ' (ASCII 值 96) 可以代表替代字元,讓遮罩控制自定義動作區分字段的方式。 |
_ | 此字元是常值底線字元。 |
= | 此字元是欄位終止符。 這必須遵循 #、%、^或 '。 這會建立與上述位置相同類型的一個輸入位置,並以 『-』 分隔符終止欄位。 |
任何其他字元都會被視為常值常數。
針對可以編輯的字元,控件會針對相同類型之連續字元的每個區塊建立一個視窗,並建立個別的編輯視窗。
控件屬性
若要變更使用事件的屬性值,請將控件訂閱至 EventMapping Table 中的 Control 事件,並在 [屬性] 資料行中列出屬性識別符。 在 [事件] 數據行中輸入 Control 事件的識別碼。 您可以使用下列屬性搭配 MaskedEdit 控制項。
屬性 | 十六進位位 | 描述 |
---|---|---|
IndirectPropertyName | 這是與控件相關聯的間接屬性名稱。 如果已設定間接屬性位,控件會顯示或變更具有此名稱的屬性值。 如果設定間接屬性位,這個名稱也是列在 [控件數據表]之 [屬性] 資料行中的屬性值。 | |
位置 | 控件在對話框中的位置。 將控件左角的控件寬度、高度和座標輸入 控件數據表的 Width、Height、X 和 Y 數據行。 針對長度和距離使用 安裝程式單位。 |
|
PropertyName | 這是與這個控件相關聯的屬性名稱。 如果未設定間接屬性位,控件會顯示或變更具有此名稱的屬性值。 此屬性是在 Control Table的 Property 數據行中指定。 | |
PropertyValue | 這個控件所顯示或變更之屬性的目前值。 如果未設定間接屬性位,這是 PropertyName 的值。 如果設定間接屬性位,這是 IndirectPropertyName 的值。 如果屬性變更,控件會反映新的值。 | |
文字 | 若要設定文字字串的字型和字型樣式,請在顯示的字元字串前面加上 {\style} 或 {&style}。 其中 style 是列在 TextStyle Table的 Style 數據行中的標識符。 如果其中兩者都不存在,但 DefaultUIFont 屬性會定義為有效的文字樣式,則會使用該字型。 指定遮罩範本的字串會遵循此前置詞,並使用本主題先前所述的語法。 | |
可見 | 0x00000000 0x00000001 |
隱藏的控件。 可見控制件。 將這個位包含在 [控件數據表] [屬性] 數據行的位字中,,讓控件在建立時顯示或隱藏。 您也可以使用 ControlCondition Table來隱藏或顯示控件。 |
已啟用 | 0x00000000 0x00000002 |
處於停用狀態的控制件。 處於啟用狀態的控制件。 將這個位包含在 控制項資料表的 [屬性] 資料行 位字中,以在建立時啟用控制件。 您也可以使用 ControlCondition Table來啟用或停用控件。 |
下沉 | 0x00000000 0x00000004 |
顯示預設的視覺化樣式。 顯示具有沉沒、立體外觀的控件。 將這些位包含在 控制元件資料表的 [屬性] 資料列中,。 |
間接 | 0x00000000 0x00000008 |
控制元件會顯示或變更 控制項資料表的 [屬性] 資料行中屬性的值,。 控制元件會顯示或變更屬性的值,其識別子列在 [控件資料表] 的 [屬性] 資料行中。 判斷與這個控件相關聯的屬性是否間接參考。 |
言論
MaskedEdit 控制項會使用 BS_OWNERDRAW 和 WS_EX_CONTROLPARENT 樣式,建立 BUTTON 類別的父視窗。 它會在此視窗中建立數個子視窗。
- 針對常數文字部分,它會使用 SS_LEFT 和 WS_CHILD 樣式建立 STATIC 視窗。
- 針對可編輯的欄位,它會使用 WS_CHILD、WS_BORDER和 WS_TABSTOP 樣式來建立EDIT視窗。
- 對於數值欄位,視窗也有 ES_NUMBER 樣式。
替代數位、%和替代英數位元 ^、?和 ' 字段允許自定義動作以遮罩控制的方式區分字段,例如 ^ 可用於應該大寫的字段。