ControlChooseIndex

将列表框, 组合框或标签页控件中的选择设置第 N 项.

ControlChooseIndex N, Control , WinTitle, WinText, ExcludeTitle, ExcludeText

参数

N

类型: 整数

项目的索引, 其中 1 是第一项, 2 是第二项, 以此类推. 若要选择 ListBox 或 ComboBox 中的所有条目, 则指定 0.

Control

类型: 字符串, 整数对象

控件的 ClassNN, 文本或 HWND, 或具有 Hwnd 属性的对象. 有关详情, 请参阅 Control 参数.

WinTitle, WinText, ExcludeTitle, ExcludeText

类型: 字符串, 整数对象

如果这些都是空白或省略, 将使用上次找到的窗口. 否则, 为 WinTitle 指定窗口标题或其他条件, 来标识目标窗口, 和/或为 WinText 指定目标窗口的单个文本元素的子字符串(由包含的 Window Spy 实用程序显示).

ExcludeTitleExcludeText 可用于根据标题或文本排除一个或多个窗口. 它们的规范类似于 WinTitleWinText, 除了 ExcludeTitle 不识别除窗口标题之外的任何条件.

窗口标题和文本是区分大小写的. 默认情况下, 不检测隐藏窗口, 而检测隐藏文本元素, 除非使用 DetectHiddenWindowsDetectHiddenText 进行更改. 默认情况下, 窗口标题的任意位置包含 WinTitleExcludeTitle 就能形成匹配, 除非使用 SetTitleMatchMode 进行了更改.

错误处理

如果找不到窗口或控件, 或者控件的类名不包含 "Combo", "List" 或 "Tab", 则抛出 TargetError.

如果无法应用更改, 则抛出 ErrorOSError.

备注

要选择 多选 列表框中的所有项目, 请遵循以下示例:

PostMessage(0x0185, 1, -1, "ListBox1", WinTitle)  ; 选择列表框所有项. 0x0185 是 LB_SETSEL.

GuiControl.Choose() 不同, 此函数引发 ChangeDoubleClick 事件.

为了提高可靠性, 每次使用此函数后都会自动执行延迟. 该延迟可以通过 SetControlDelay 或给 A_ControlDelay 赋值来更改. 有关详情, 请参阅 SetControlDelay 备注.

ControlGetIndex, ControlChooseString, Choose 方法(GuiControl 对象), 控件函数