_GUICtrlListView_GetItemRectEx
Возвращает прямоугольник, обрамляющий весь пункт или его часть
#include <GuiListView.au3>
_GUICtrlListView_GetItemRectEx($hWnd, $iIndex [, $iPart = 3])
Параметры
$hWnd | Дескриптор или идентификатор элемента |
$iIndex |
Индекс пункта |
$iPart |
[необязательный] Часть пункта, которую необходимо извлечь: $LVIR_BOUNDS - Возвращает прямоугольник, обрамляющий весь пункт, включая иконки и надписи $LVIR_ICON - Возвращает прямоугольник, обрамляющий иконку или маленькую иконку $LVIR_LABEL - Возвращает прямоугольник, обрамляющий текст пункта $LVIR_SELECTBOUNDS - Возвращает прямоугольник, обрамляющий по правилам совместно $LVIR_ICON и $LVIR_LABEL, но исключает колонки в стиле report. |
Возвращаемое значение
Возвращает структуру $tagRECTСм. также
_GUICtrlListView_GetItemRect, $tagRECTПример
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
_Main()
Func _Main()
Local $tRect, $hListView
GUICreate("Получает прямоугольник пункта (Ex)", 400, 300)
$hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
GUISetState()
; Добавляет колонки
_GUICtrlListView_AddColumn($hListView, "Пункты", 100)
; Добавляет пункты
_GUICtrlListView_AddItem($hListView, "Пункт 1")
_GUICtrlListView_AddItem($hListView, "Пункт 2")
_GUICtrlListView_AddItem($hListView, "Пункт 3")
; Получает прямоугольник 2-го пункта
$tRect = _GUICtrlListView_GetItemRectEx($hListView, 1)
MsgBox(4160, "Информация", StringFormat("Прямоугольник 2-го пункта : [%d, %d, %d, %d]", DllStructGetData($tRect, "Left"), _
DllStructGetData($tRect, "Top"), DllStructGetData($tRect, "Right"), DllStructGetData($tRect, "Bottom")))
; Цикл выполняется, пока окно не будет закрыто
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main