Функция _GUICtrlListView_GetSubItemRect

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


_GUICtrlListView_GetSubItemRect

Возвращает координаты прямоугольника подпункта

#include <GuiListView.au3>
_GUICtrlListView_GetSubItemRect($hWnd, $iIndex, $iSubItem [, $iPart = 0])

Параметры

$hWnd Дескриптор или идентификатор элемента
$iIndex Индекс родительского пункта, в котором находится подпункт, отсчёт от 0
$iSubItem Индекс подпункта, отсчёт от 1
$iPart [необязательный] Часть подпункта, которую необходимо извлечь:
    0 - Прямоугольник всего подпункта, в том числе иконки и надписи
    1 - Прямоугольник иконки или маленькой иконки

Возвращаемое значение

Возвращает массив следующего формата:
        [0] - X координата верхнего левого угла прямоугольника
        [1] - Y координата верхнего левого угла прямоугольника
        [2] - X координата правого нижнего угла прямоугольника
        [3] - Y координата правого нижнего угла прямоугольника

Примечания

Эта функция используется только с ListView, которые используют стиль $LVS_REPORT

Пример

#include <GUIConstantsEx.au3>
#include <GuiListView.au3>

$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
    Local $aRect, $hListView

    GUICreate("Получает прямоугольник подпункта", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

    ; Добавляет колонки
    _GUICtrlListView_AddColumn($hListView, "Колонка 1", 100)
    _GUICtrlListView_AddColumn($hListView, "Колонка 2", 100)
    _GUICtrlListView_AddColumn($hListView, "Колонка 3", 100)

    ; Добавляет пункты
    _GUICtrlListView_AddItem($hListView, "Стр 1: Кол 1")
    _GUICtrlListView_AddSubItem($hListView, 0, "Стр 1: Кол 2", 1)
    _GUICtrlListView_AddSubItem($hListView, 0, "Стр 1: Кол 3", 2)
    _GUICtrlListView_AddItem($hListView, "Стр 2: Кол 1")
    _GUICtrlListView_AddSubItem($hListView, 1, "Стр 2: Кол 2", 1)
    _GUICtrlListView_AddItem($hListView, "Стр 3: Кол 1")

    ; Показывает прямоугольник подпункта во 2-ой строке
    $aRect = _GUICtrlListView_GetSubItemRect($hListView, 1, 1)
    MsgBox(4160, "Информация", StringFormat("Прямоугольник подпункта : [%d, %d, %d, %d]", $aRect[0], $aRect[1], $aRect[2], $aRect[3]))

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main