_GUICtrlListBox_ItemFromPoint
Возвращает ближайший к указанной точке индекс пункта, отсчёт от 0
#include <GuiListBox.au3>
_GUICtrlListBox_ItemFromPoint($hWnd, $iX, $iY)
Параметры
$hWnd | Дескриптор или идентификатор элемента |
$iX |
X координата относительно левого верхнего угла клиентской области |
$iY |
Y координата относительно левого верхнего угла клиентской области |
Возвращаемое значение
Успех: | Возвращает индекс ближайшего пункта |
Ошибка: | Возвращает -1, если точка находится вне клиентской области ListBox |
Пример
#include <GuiListBox.au3>
#include <GUIConstantsEx.au3>
$Debug_LB = False ; Проверяет ClassName передаваемый в ListBox функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
_Main()
Func _Main()
Local $hListBox
; Создаёт GUI
GUICreate("Получает пункт из координат", 400, 296)
$hListBox = GUICtrlCreateList("", 2, 2, 396, 296)
GUISetState()
; Добавляет строки
_GUICtrlListBox_BeginUpdate($hListBox)
For $iI = 1 To 9
_GUICtrlListBox_AddString($hListBox, StringFormat("%03d : Рандомная строка", Random(1, 100, 1)))
Next
_GUICtrlListBox_EndUpdate($hListBox)
; Получает пункт ближайший к координатам
MsgBox(4160, "Информация", "Пункт ближайший к координатам 30, 30: " & _GUICtrlListBox_ItemFromPoint($hListBox, 30, 30))
; Цикл выполняется, пока окно не будет закрыто
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main