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_OWNERDRAWWS_EX_CONTROLPARENT樣式,建立 BUTTON 類別一個父視窗。 它會在此視窗中建立數個子視窗。

  • 針對常數文字元件,它會使用SS_LEFTWS_CHILD樣式建立 STATIC 視窗
  • 針對可編輯的欄位,它會使用WS_CHILDWS_BORDERWS_TABSTOP樣式來建立EDIT視窗
  • 對於數值欄位,視窗也有 ES_NUMBER 樣式。

替代數位、% 和替代英數位元 ^、?和 ' 欄位允許自定義動作以遮罩控制的方式區分欄位,例如 ^ 可用於應該為大寫的欄位。