编辑控件 (Windows Installer)

编辑控件是与字符串或整数值属性关联的编辑字段。 在 控件表的“属性”列中输入属性的名称。

控件属性

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

属性标识符 十六进制位 描述
IndirectPropertyName 这是与控件关联的间接属性的名称。 如果设置了 Indirect 属性位,控件将显示或更改具有此名称的属性的值。 如果设置了 Indirect 属性位,则此名称也是 Control 表的“属性”列中列出的属性的值。
位置 控件在对话框中的位置。 将控件左角的宽度、高度和坐标输入到 控件表的 Width、Height、X 和 Y 列。 使用 安装程序单位 长度和距离。
PropertyName 这是与此控件关联的属性的名称。 如果未设置间接属性位,控件将显示或更改具有此名称的属性的值。 此属性在 Control 表的属性列中指定。
PropertyValue 此控件显示或更改的属性的当前值。 如果未设置 Indirect 属性位,则此值为 PropertyName 的值。 如果设置了 Indirect 属性位,则这是 IndirectPropertyName 的值。 如果属性发生更改,控件将反映新值。
文本 若要设置文本字符串的字体和字体样式,请使用 {\style} 或 {&style} 作为显示字符字符串的前缀。 其中样式是 TextStyle 表的 TextStyle 列中列出的标识符。 如果两者都不存在,但 DefaultUIFont 属性定义为有效的文本样式,将使用该字体。 若要指定用户可以输入的字符数,请在任何字体规范后面追加 {n}。 其中 n 是正整数。
可见 0x00000000 0x00000001
隐藏的控件。 可见控件。
将此位包含在 Control 表的 Attributes 列的位词中, 以使控件在创建时可见或隐藏。
还可以使用 ControlCondition 表隐藏或显示控件。
已启用 0x00000000 0x00000002
处于禁用状态的控制。 处于启用状态的控制。
在 控件 的属性列中将此位包含在位词中,以便在创建时启用控件。
也可以使用 ControlCondition 表启用或禁用控件。
沉没 0x00000000 0x00000004
显示默认视觉样式。 显示具有沉没的 3D 外观的控件。
将这些位包含在 控件表的“属性”列中的位词中。
间接 0x00000000 0x00000008
该控件显示或更改 控件表的“属性”列中的属性的值。 该控件显示或更改属性的值,该属性的“标识符”列在控件表的“属性”列中列出。
确定是否间接引用与此控件关联的属性。
整数 0x00000000 0x00000010
与控件关联的属性是一个字符串值。 与控件关联的属性是一个整数值。
在 控件表的 Attributes 列的位单词中包含此位, 在创建控件时设置此属性。
RTLRO 0x00000000 0x00000020
控件中的文本按从左到右的阅读顺序显示。 控件中的文本以从右到左的阅读顺序显示。
RightAligned 0x00000000 0x00000040
控件中的文本与左侧对齐。 控件中的文本与右侧对齐。
LeftScroll 0x00000000 0x00000080
滚动条位于控件右侧。 滚动条位于控件左侧。
BiDi 0x000000E0 为 RTLRO、RightAligned和 LeftScroll 属性的组合设置此值。
多行 0x00010000 使用垂直滚动条创建多行编辑控件。 在 控件 属性列中的位单词中包含 65536,以创建具有垂直滚动条的多行编辑控件。
密码 0x00200000 创建用于输入密码的编辑控件。 将2097152添加到 控件表的属性列中的值,以创建一个编辑控件,该控件在键入控件时将每个字符显示为星号 = 。 设置密码属性可防止安装程序将与编辑控件关联的属性写入日志文件。 有关详细信息,请参阅 防止机密信息写入日志文件

言论

可以使用 CreateWindowEx 函数从 EDIT 类创建此控件。 它具有 WS_BORDER、WS_CHILD、WS_TABSTOP和 WS_GROUP 样式。

可以通过将数字从 0 到 2147483646大括号放在 控件表“文本”字段开头的大括号中来限制可输入的文本长度。 例如,如果文本字段以 {80}开头,字符串的长度限制为 80 个字符。 如果未在表中提供此类限制,或者指定了 0,长度将设置为可能的最大长度(2147483646个字符)。 负值或非数值将生成错误。

为了与屏幕阅读器兼容,在将编辑控件作为第一个活动控件创作对话框时,必须将属于编辑字段的文本字段设为 对话框表中的第一个活动控件。 由于静态文本无法获得焦点,因此在创建对话框时,编辑字段最初将具有焦点,但这样做可确保屏幕阅读器显示正确的信息。

仅当控件失去焦点时,才会设置与“编辑”控件关联的属性。 因此,必须从控件中选择一个选项卡,或者为要更新的属性选择其他控件。