MaskedEdit 控件

MaskedEdit 控件是一个编辑字段控件,其中包含控件的文本字段中的掩码。 通过将属性名称输入到 控件表的属性列中,可以将控件与字符串值属性相关联。

可以使用 MaskedEdit 控件为用户输入电话号码或产品 ID 代码等信息创建模板。 例如,PIDKEY 属性可由用户通过 MaskedEdit 控件输入,该控件通过将 PIDTemplate 属性设置为如下所示的字符串:

12345<### -%%%%%%%>@@@@@

该字符串为用户的 PIDKEY 属性的条目定义掩码模板。 字符串的可见段由一对括号(<>)字符括起来。

下表标识了掩码的语法。

字符 意义
< 模板可见段的左端。 此字符及其左侧的所有内容都隐藏在用户界面中。 模板中不应有多个此字符的实例。
> 模板可见段的右端。 此字符及其右侧的所有内容都隐藏在用户界面中。 此字符在验证过程中被短划线替换。 如果可见段以 <开头,则必须用匹配的 >终止它。
# 此字符可以是数字(数字)。
% 此字符可以是备用数字(数字),使掩码能够控制自定义作区分字段的方式。
@ 此字符可以是随机数字(数字)。此字符不应显示在模板的可见部分。
& 此字符可以是任意字符。
^ 此字符可以是一个备用字符,使掩码能够控制自定义作区分字段的方式。
? 此字符可以是一个备用字符,使掩码能够控制自定义作区分字段的方式。
` 严重重音标记 “(ASCII 值 96)可以表示一个备用字符,使掩码能够控制自定义作区分字段的方式。
_ 此字符是文本下划线字符。
= 此字符是字段终止符。 这必须遵循 #、%、^或'。 这将创建与上述位置相同的类型的一个输入位置,并使用“-”分隔符终止字段。

 

任何其他字符都被视为文本常量。

对于可编辑的字符,该控件为同一类型连续字符的每个块创建一个单独的编辑窗口。

控件属性

若要更改使用事件的属性的值,请将控件订阅到 EventMapping 表 中的 Control 事件,并在“属性”列中列出属性标识符。 在“事件”列中输入 Control 事件的标识符。 可以将以下属性用于 MaskedEdit 控件。

属性 十六进制位 描述
IndirectPropertyName 这是与控件关联的间接属性的名称。 如果设置了间接属性位,控件将显示或更改具有此名称的属性的值。 如果设置了间接属性位,则此名称也是 控件表的属性列中列出的属性的值。
位置 控件在对话框中的位置。 将控件左角的控件宽度、高度和坐标输入 控件表的宽度、高度、X 和 Y 列。 使用 安装程序单位 长度和距离。
PropertyName 这是与此控件关联的属性的名称。 如果未设置间接属性位,控件将显示或更改具有此名称的属性的值。 此属性在 控件表的属性列中指定。
PropertyValue 此控件显示或更改的属性的当前值。 如果未设置间接属性位,则此值为 PropertyName 的值。 如果设置了间接属性位,则这是 IndirectPropertyName 的值。 如果属性发生更改,控件将反映新值。
文本 若要设置文本字符串的字体和字体样式,请使用 {\style} 或 {&style} 作为显示字符字符串的前缀。 其中样式是 TextStyle Table的 Style 列中列出的标识符。 如果其中两者都不存在,但 DefaultUIFont 属性定义为有效的文本样式,则使用该字体。 指定掩码模板的字符串遵循此前缀,并使用本主题前面所述的语法。
可见 0x00000000 0x00000001
隐藏的控件。 可见控件。
将此位包含在 控件表 属性列的位词中,以使控件在创建时可见或隐藏。
还可以使用 ControlCondition 表隐藏或显示控件。
已启用 0x00000000 0x00000002
处于禁用状态的控制。 处于启用状态的控制。
将此位包含在 控件表 的属性列中的位词中,以便在创建时启用控件。
也可以使用 ControlCondition 表启用或禁用控件。
沉没 0x00000000 0x00000004
显示默认视觉样式。 显示具有沉没的三维外观的控件。
将这些位包含在 控件表属性列中的位词中。
间接 0x00000000 0x00000008
该控件显示或更改 控件表的属性列中的属性的值。 该控件显示或更改 控件表的属性列中列出的标识符的属性的值。
确定是否间接引用与此控件关联的属性。

 

言论

MaskedEdit 控件使用 BS_OWNERDRAWWS_EX_CONTROLPARENT 样式创建 BUTTON 类的一个父窗口。 它会在此窗口中创建多个子窗口。

  • 对于常量文本部件,它使用 SS_LEFTWS_CHILD 样式创建 STATIC 窗口。
  • 对于可编辑的字段,它将创建一个包含 WS_CHILDWS_BORDERWS_TABSTOP 样式的 EDIT 窗口。
  • 对于数值字段,窗口还具有 ES_NUMBER 样式。

备用数字、%和备用字母数字字符 ^、?和'字段允许自定义作以掩码控制的方式区分字段,例如, ^ 可用于应大写的字段。