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_OWNERDRAW 和 WS_EX_CONTROLPARENT 样式创建 BUTTON 类的一个父窗口。 它会在此窗口中创建多个子窗口。
- 对于常量文本部件,它使用 SS_LEFT 和 WS_CHILD 样式创建 STATIC 窗口。
- 对于可编辑的字段,它将创建一个包含 WS_CHILD、WS_BORDER和 WS_TABSTOP 样式的 EDIT 窗口。
- 对于数值字段,窗口还具有 ES_NUMBER 样式。
备用数字、%和备用字母数字字符 ^、?和'字段允许自定义作以掩码控制的方式区分字段,例如, ^ 可用于应大写的字段。