函数参考


_GUICtrlComboBoxEx_FindStringExact

搜索字符串(全匹配)

#include <GuiComboBoxEx.au3>
_GUICtrlComboBoxEx_FindStringExact($hWnd, $sText [, $iIndex = -1])

参数

$hWnd 控件的控件ID/句柄
$sText 要搜索的字符串
$iIndex [可选参数] 被搜索项目的 0 基索引

返回值

成功: 返回匹配项目的 0 基索引
失败: 返回 -1

注意/说明

返回匹配 $sText 参数的第一个字符串(完全匹配).

当搜索到达列表框底部, 继续从列表框顶部开始搜索,
直到 $iIndex 指定的位置为止.

如果 $iIndex 为 -1,将从头开始搜索整个列表框.

相关

_GUICtrlComboBox_SelectString

示例/演示


#include <GuiComboBoxEx.au3>
#include <GuiImageList.au3>
#include <GUIConstantsEx.au3>

$Debug_CB = False ;检查传递给 ComboBox/ComboBoxEx 函数的类名, 设置为True并输出到一个控件的句柄,用于检查它是否工作

_Main()

Func _Main()
    Local $hGUI, $hImage, $Delimiter = ";", $hCombo

    Opt("GUIDataSeparatorChar", $Delimiter)

    ; 创建 GUI
    $hGUI = GUICreate("ComboBoxEx Find String Exact", 400, 300)
    $hCombo = _GUICtrlComboBoxEx_Create($hGUI, "This is;mY tExT", 2, 2, 394, 100, $CBS_SIMPLE)
    GUISetState()

    $hImage = _GUIImageList_Create(16, 16, 5, 3)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 110)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 131)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 165)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 168)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 137)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 146)
    _GUIImageList_Add($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap($hCombo, 0xFF0000, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap($hCombo, 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap($hCombo, 0x0000FF, 16, 16))
    _GUICtrlComboBoxEx_SetImageList($hCombo, $hImage)

    _GUICtrlComboBoxEx_BeginUpdate($hCombo)
    For $x = 0 To 8
        _GUICtrlComboBoxEx_AddString($hCombo, StringFormat("%03d : Random string", Random(1, 100, 1)), $x, $x)
    Next
    _GUICtrlComboBoxEx_EndUpdate($hCombo)

    ; Find exact string
    MsgBox(4160, "信息", "Found at: " & _GUICtrlComboBoxEx_FindStringExact($hCombo, "mY tExT"))

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>_Main