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