UDF > GUI > GuiComboBox >


_GUICtrlComboBox_InitStorage

Alloue de la mémoire pour stocker les éléments de la liste déroulante d'une ComboBox

#include <GuiComboBox.au3>
_GUICtrlComboBox_InitStorage ( $hWnd, $iNum, $iBytes )

Paramètres

$hWnd ID/handle du contrôle
$iNum Nombre d'éléments à ajouter
$iBytes La quantité de mémoire à allouer pour les chaînes des éléments, en octets

Valeur de retour

Succès: Retourne le nombre total d'éléments pour lesquels la mémoire a été allouée .
Échec: Retourne $CB_ERRSPACE.

Remarques

Contribue à accélérer l'initialisation des ComboBox qui ont un grand nombre d'éléments (plus de 100).

Vous pouvez utiliser des estimations pour les paramètres $iNum et $iBytes.
Si vous sur-estimez, la mémoire supplémentaire est allouée.
Si vous sous-estimez, une allocation normale est utilisée pour les éléments qui dépassent le montant demandé.

En relation

_GUICtrlComboBox_AddDir, _GUICtrlComboBox_AddString, _GUICtrlComboBox_InsertString

Exemple

#include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    Local $idCombo

    ; Crée une GUI
    GUICreate("ComboBox Init Storage", 400, 296)
    $idCombo = GUICtrlCreateCombo("", 2, 2, 396, 296)
    GUISetState(@SW_SHOW)

    ; Initialise Storaged
    MsgBox($MB_SYSTEMMODAL, "Information", "Pre-Allocated Memory For: " & _GUICtrlComboBox_InitStorage($idCombo, 50, 500) & " items")

    ; Ajoute des fichiers
    _GUICtrlComboBox_BeginUpdate($idCombo)
    _GUICtrlComboBox_AddDir($idCombo, @WindowsDir & "\*.exe")
    _GUICtrlComboBox_EndUpdate($idCombo)

    ; Boucle jusqu'à ce que l'utilisateur quitte
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>Example