Функция _GUICtrlListView_ApproximateViewHeight

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


_GUICtrlListView_ApproximateViewHeight

Рассчитывает приблизительную высоту, необходимую для отображения указанного количества пунктов

#include <GuiListView.au3>
_GUICtrlListView_ApproximateViewHeight($hWnd [, $iCount = -1 [, $iCX = -1 [, $iCY = -1]]])

Параметры

$hWnd Дескриптор или идентификатор элемента
$iCount [необязательный] Количество пунктов отображаемых в ListView. Если этот параметр равен -1, то используется общее количество пунктов в ListView.
$iCX [необязательный] Предлагаемый размер X элемента ListView в пикселях. Этот параметр может быть установлен в -1, чтобы позволить сообщению использовать текущее значение ширины.
$iCY [необязательный] Предлагаемый размер Y элемента ListView в пикселях. Этот параметр может быть установлен в -1, чтобы позволить сообщению использовать текущее значение высоты.

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

Возвращает приблизительную высоту в пикселях, необходимую для отображения пунктов

Примечания

Установка размера ListView, основанная на измерении предоставленным этим сообщением может оптимизировать перерисовку и уменьшить мерцание.

См. также

_GUICtrlListView_ApproximateViewWidth, _GUICtrlListView_ApproximateViewRect

Пример

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

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

_Main()

Func _Main()
    Local $iY, $hListView

    GUICreate("ListView - Приблизительная высота ListView", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

    ; Добавляет колонку
    _GUICtrlListView_InsertColumn($hListView, 0, "Колонка 1", 100)

    ; Добавляет пункты
    For $iI = 0 To 9
        _GUICtrlListView_AddItem($hListView, "Стр " & $iI)
    Next

    MsgBox(4096, "Информация", "Приблизительная высота ListView")
    ; Изменяет высоту ListView
    $iY = _GUICtrlListView_ApproximateViewHeight($hListView)
    _WinAPI_SetWindowPos(GUICtrlGetHandle($hListView), 0, 2, 2, 394, $iY, $SWP_NOZORDER)

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