_GUICtrlListView_ApproximateViewWidth
Рассчитывает приблизительную ширину, необходимую для отображения указанного количества пунктов
#include <GuiListView.au3>
_GUICtrlListView_ApproximateViewWidth($hWnd [, $iCount = -1 [, $iCX = -1 [, $iCY = -1]]])
Параметры
$hWnd | Дескриптор или идентификатор элемента |
$iCount |
[необязательный] Количество пунктов отображаемых в ListView. Если этот параметр равен -1, то используется общее количество пунктов в ListView. |
$iCX |
[необязательный] Предлагаемый размер X элемента ListView в пикселях. Этот параметр может быть установлен в -1, чтобы позволить сообщению использовать текущее значение ширины. |
$iCY |
[необязательный] Предлагаемый размер Y элемента ListView в пикселях. Этот параметр может быть установлен в -1, чтобы позволить сообщению использовать текущее значение высоты. |
Возвращаемое значение
Возвращает приблизительную ширину в пикселях, необходимую для отображения пунктовПримечания
Установка размера ListView, основанная на измерении предоставленным этим сообщением может оптимизировать перерисовку и уменьшить мерцание.См. также
_GUICtrlListView_ApproximateViewHeight, _GUICtrlListView_ApproximateViewRectПример
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <Constants.au3>
$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
_Main()
Func _Main()
Local $iX, $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
$iX = _GUICtrlListView_ApproximateViewWidth($hListView)
_WinAPI_SetWindowPos(GUICtrlGetHandle($hListView), 0, 2, 2, $iX, 268, $SWP_NOZORDER)
; Цикл выполняется, пока окно не будет закрыто
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main