Функция _GUICtrlListView_GetStringWidth

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


_GUICtrlListView_GetStringWidth

Возвращает ширину указанной строки

#include <GuiListView.au3>
_GUICtrlListView_GetStringWidth($hWnd, $sString)

Параметры

$hWnd Дескриптор или идентификатор элемента
$sString Строка, ширина которой будет вычислена

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

Успех:Возвращает ширину строки
Ошибка:Возвращает 0

Примечания

Эта функция возвращает точное значение ширины указанной строки в пикселях. Если вы используете значение, возвращаемое этой функцией, чтобы установить ширину колонки используя SetColumnWidth, то строка будет усечена (в отображаемом ListView). Чтобы установить ширину колонки, которая не усечёт строку, вы должны немного увеличить значение, возвращаемое этой функцией.

Пример

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

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

_Main()

Func _Main()
    Local $hListView

    GUICreate("Получает ширину строки", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT))
    GUISetState()

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

    ; Добавляет пункты
    _GUICtrlListView_AddItem($hListView, "Пункт 1")
    _GUICtrlListView_AddItem($hListView, "Пункт 2")
    _GUICtrlListView_AddItem($hListView, "Пункт 3")

    ; Получает ширину строки
    MsgBox(4160, "Информация", 'Ширина строки "Тест": ' & _GUICtrlListView_GetStringWidth($hListView, "Тест"))

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