编辑控件 (MSAA UI 元素引用)

注意

本主题介绍用于 MSAA UI 元素引用的 编辑控件 对象。 此处未介绍如何在各种 UI 框架中创建 编辑控件 对象。 请参阅所使用的 UI 框架的 API 参考文档。

编辑控件允许用户查看和编辑文本。 编辑控件是使用许多不同的样式(如ES_MULTILINE)创建的。 此样式创建多行编辑控件(例如记事本的工作区)和ES_READONLY,用于创建只读编辑控件。

Microsoft Active Accessibility 不区分使用窗口类名称“EDIT”创建的编辑控件和使用窗口类名称“RichEdit”或“RichEdit20A”创建的富编辑控件。

IAccessible 方法

编辑控件支持以下 IAccessible 方法:

IAccessible 属性

编辑控件支持以下 IAccessible 属性:

属性 注释
get_accChild
get_accChildCount
get_accDescription
get_accFocus
get_accKeyboardShortcut KeyboardShortcut 属性是编辑控件的访问键,它是编辑控件标签文本中的带下划线字符。 例如,在标准“打开文件”对话框(例如在写字板中)上,标记为“Filename:”的编辑控件的 KeyboardShortcut 为“Alt+n”。
get_accName Name 属性是来自静态文本控件的文本,用于标记编辑控件。 例如,在标准“打开文件”对话框(如在写字板中)上,编辑控件的 Name 属性为“文件名:”。
get_accParent Parent 属性是一个窗口 ( ROLE_SYSTEM_WINDOW) 包围控件,并且与控件具有相同的 Name 属性和窗口类名称。
get_accRole Role属性ROLE_SYSTEM_TEXT。
get_accSelection
get_accState State 属性是以下一个或多个的组合:STATE_SYSTEM_INVISIBLE | STATE_SYSTEM_FOCUSABLE | STATE_SYSTEM_FOCUSED | STATE_SYSTEM_READONLY | STATE_SYSTEM_PROTECTED | STATE_SYSTEM_NORMAL
get_accValue Value 属性是包含编辑控件中的文本的单个字符串。 但是,如果控件受密码保护, 则 Value 属性将返回E_ACCESSDENIED。 对于多行编辑控件,字符串在每行末尾包含回车符和换行符。

说明

  • Microsoft Active Accessibility 不支持选择编辑和格式编辑控件中包含的文本,因为文本在对象的 Value 属性中作为字符串公开。

  • 在文本编辑器(如 Windows 98) 的写字板)中使用的Riched20.dll (提供的丰富编辑控件在文本选择过程中更改插入符号位置时不会发送任何 WinEvent。 当用户按 SHIFT 键和箭头键选择文本时,插入点对象不会触发 WinEvent EVENT_OBJECT_LOCATIONCHANGE 。 通过丰富的编辑消息以编程方式设置所选内容时,插入符号对象不会发送任何事件来指示其新位置。

    使用 Riched20.dll的所有应用程序都存在此问题。 使用早期版本的丰富编辑控件的应用程序根据所选内容正确发送事件。

  • 密码编辑控件 的 State 值始终包含 位标志STATE_SYSTEM_PROTECTED

IAccessible 接口