Calcule la taille approximative nécessaire pour afficher un nombre donné d'éléments
#include <GuiListView.au3>
_GUICtrlListView_ApproximateViewRect ( $hWnd [, $iCount = -1 [, $iCX = -1 [, $iCY = -1]]] )
$hWnd | ID/handle du contrôle |
$iCount | [optionnel] Nombre d'éléments à afficher dans le contrôle. Si ce paramètre est réglé à -1 la fonction utilise le nombre total d'éléments dans le contrôle. |
$iCX | [optionnel] Proposition pour la dimension X du contrôle, en pixels. Ce paramètre peut être réglé à -1 pour permettre à la fonction d'utiliser la valeur de la largeur actuelle. |
$iCY | [optionnel] Proposition pour la dimension Y du contrôle, en pixels. Ce paramètre peut être réglé à -1 pour permettre à la fonction d'utiliser la valeur de la hauteur actuelle. |
La définition de la taille du contrôle à partir des dimensions fournies par les paramètres peut optimiser la peinture du contrôle et réduire le scintillement.
_GUICtrlListView_ApproximateViewHeight, _GUICtrlListView_ApproximateViewWidth
#include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <MsgBoxConstants.au3> #include <WinAPISysWin.au3> Example() Func Example() Local $aXY, $idListview GUICreate("ListView Approximate View Rect", 400, 300) $idListview = GUICtrlCreateListView("", 2, 2, 394, 268) GUISetState(@SW_SHOW) ; Ajoute des colonnes _GUICtrlListView_InsertColumn($idListview, 0, "Column 1", 100) ; Ajoute des éléments For $iI = 0 To 9 _GUICtrlListView_AddItem($idListview, "Row " & $iI) Next MsgBox($MB_SYSTEMMODAL, "Information", "Approximate View Rect") ; Redéfinit la taille de l'affichage $aXY = _GUICtrlListView_ApproximateViewRect($idListview) _WinAPI_SetWindowPos(GUICtrlGetHandle($idListview), 0, 2, 2, $aXY[0], $aXY[1], $SWP_NOZORDER) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example