函数参考


_GUICtrlListView_ApproximateViewRect

计算显示给定数量项目所需的近似大小

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

参数

$hWnd 控件的控件ID/句柄
$iCount [可选参数] 要显示的项目数量.
如设定为 -1, 则为控件内项目总数.
$iCX [可选参数] 控件近似的 X 像素值.
可以设为 -1,使用当前宽度值.
$iCY [可选参数] 控件近似的 Y 像素值.
可以设为 -1, 使用当前高度值.

返回值

返回如下格式数组:
        [0] - 近似宽度像素值
        [1] - 近似高度像素值

注意/说明

 以这个函数提供的大小为基础设置控件,能优化刷新屏幕与减少闪烁.

相关

_GUICtrlListView_ApproximateViewHeight, _GUICtrlListView_ApproximateViewWidth

示例/演示


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

$Debug_LV = False ; 检查传递给 ListView 函数的类名, 设置为True并输出到一个控件的句柄,用于检查它是否工作

_Main()

Func _Main()
    Local $aXY, $hListView

    GUICreate("ListView Approximate View Rect", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

    ; Add column
    _GUICtrlListView_InsertColumn($hListView, 0, "Column 1", 100)

    ; 添加项目
    For $iI = 0 To 9
        _GUICtrlListView_AddItem($hListView, "Row " & $iI)
    Next

    MsgBox(4096, "信息", "Approximate View Rect")
    ; Resize view
    $aXY = _GUICtrlListView_ApproximateViewRect($hListView)
    _WinAPI_SetWindowPos(GUICtrlGetHandle($hListView), 0, 2, 2, $aXY[0], $aXY[1], $SWP_NOZORDER)
    ; 循环直到用户退出
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main