Функция _GUICtrlListView_GetItemRectEx

         Описание функции


_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