Calcule la largeur approximative nécessaire pour afficher un nombre donné d'éléments
#include <GuiListView.au3>
_GUICtrlListView_ApproximateViewWidth ( $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 du 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 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 la fonction peut optimiser la peinture du contrôle et réduire le scintillement.
_GUICtrlListView_ApproximateViewHeight, _GUICtrlListView_ApproximateViewRect
#include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <MsgBoxConstants.au3> #include <WinAPISysWin.au3> Example() Func Example() Local $iX, $idListview GUICreate("ListView Approximate View Width", 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 Width") ; Redéfinit la largeur de l'affichage $iX = _GUICtrlListView_ApproximateViewWidth($idListview) _WinAPI_SetWindowPos(GUICtrlGetHandle($idListview), 0, 2, 2, $iX, 268, $SWP_NOZORDER) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example