UDF > GUI > GuiListBox >


_GUICtrlListBox_Create

Cr�e un contr�le ListBox

#include <GuiListBox.au3>
_GUICtrlListBox_Create ( $hWnd, $sText, $iX, $iY [, $iWidth = 100 [, $iHeight = 200 [, $iStyle = 0x00B00002 [, $iExStyle = 0x00000200]]]] )

Param�tres

$hWnd Handle du parent ou du propri�taire de la fen�tre
$sText Cha�ne � ajouter � la liste d�roulante
$iX Position horizontale du contr�le
$iY Position verticale du contr�le
$iWidth [optionnel] Largeur du contr�le
$iHeight [optionnel] Hauteur du contr�le
$iStyle [optionnel]Style du contr�le:
    $LBS_COMBOBOX - Notifie une ListBox qu'elle fait partie d'un ComboBox
    $LBS_DISABLENOSCROLL - Affiche une barre de d�filement verticale d�sactiv�e
    $LBS_EXTENDEDSEL - Permet la s�lection de plusieurs �l�ments
    $LBS_HASSTRINGS - Indique qu'une ListBox contient des �l�ments constitu�s de cha�nes
    $LBS_MULTICOLUMN - Indique que la ListBox contient plusieurs colonnes qu'on pourra faire d�filer horizontalement
    $LBS_MULTIPLESEL - Commute la s�lection d'une cha�ne sur On ou Off chaque fois que l'utilisateur clique sur la cha�ne
    $LBS_NODATA - Indique une ListBox sans donn�e
    $LBS_NOINTEGRALHEIGHT - Indique que la taille est exactement la taille d�finie par l'application
    $LBS_NOREDRAW - Indique que l'apparence de la ListBox n'est pas mis � jour lorsque des modifications sont apport�es
    $LBS_NOSEL - Indique que la ListBox contient des �l�ments qui peuvent �tre consult�s mais pas s�lectionn�s
    $LBS_NOTIFY - Avertit lorsque l'utilisateur clique ou double-clique sur une cha�ne
    $LBS_OWNERDRAWFIXED - Indique que la ListBox est dessin�e par son propri�taire
    $LBS_OWNERDRAWVARIABLE - Indique que la ListBox est dessin�e par son propri�taire avec une hauteur variable
    $LBS_SORT - Trie les cha�nes de la ListBox par ordre alphab�tique
    $LBS_STANDARD - Style standard de ListBox
    $LBS_USETABSTOPS - Autorise la ListBox � reconna�tre et d�velopper des caract�res de tabulation
    $LBS_WANTKEYBOARDINPUT - Indique que le propri�taire re�oit les messages WM_VKEYTOITEM

Par d�faut: $LBS_SORT, $WS_HSCROLL, $WS_VSCROLL, $WS_BORDER
For��: $WS_CHILD, $WS_TABSTOP, $WS_VISIBLE, $LBS_NOTIFY
$iExStyle [optionnel] Styles �tendus du contr�le. Ils correspondent aux constantes standards $WS_EX_* . Voir Table des Styles Etendus.
Par d�faut: $WS_EX_CLIENTEDGE

Valeur de retour

Succ�s: Retourne le handle du contr�le ListBox.
�chec: Retourne 0.

Remarque

Cette fonction est destin�e aux utilisateurs avertis ainsi que pour apprendre comment fonctionne le contr�le.

En relation

_GUICtrlListBox_Destroy

Exemple

#include <GUIConstantsEx.au3>
#include <GuiListBox.au3>
#include <MsgBoxConstants.au3>
#include <WindowsConstants.au3>

Global $g_hListBox

Example()

Func Example()
    Local $hGUI

    ; Cr�e une GUI
    $hGUI = GUICreate("(UDF Created) List Box Create", 400, 296)
    $g_hListBox = _GUICtrlListBox_Create($hGUI, "String upon creation", 2, 2, 396, 296)
    GUISetState(@SW_SHOW)

    MsgBox($MB_SYSTEMMODAL, "Information", "Adding Items")

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

    ; Ajoute des fichiers
    _GUICtrlListBox_BeginUpdate($g_hListBox)
    _GUICtrlListBox_ResetContent($g_hListBox)
    _GUICtrlListBox_InitStorage($g_hListBox, 100, 4096)
    _GUICtrlListBox_Dir($g_hListBox, @WindowsDir & "\win*.exe")
    _GUICtrlListBox_AddFile($g_hListBox, @WindowsDir & "\notepad.exe")
    _GUICtrlListBox_Dir($g_hListBox, "", $DDL_DRIVES)
    _GUICtrlListBox_Dir($g_hListBox, "", $DDL_DRIVES, False)
    _GUICtrlListBox_EndUpdate($g_hListBox)

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

Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg
    Local $hWndFrom, $iIDFrom, $iCode, $hWndListBox
    If Not IsHWnd($g_hListBox) Then $hWndListBox = GUICtrlGetHandle($g_hListBox)
    $hWndFrom = $lParam
    $iIDFrom = BitAND($wParam, 0xFFFF) ; Mot de poids faible
    $iCode = BitShift($wParam, 16) ; Mot de poids fort

    If $hWndFrom = $g_hListBox Or $hWndFrom = $hWndListBox Then
        Switch $iCode
            Case $LBN_DBLCLK
                ; Envoy� quand l'utilisateur double-clique sur une cha�ne de la ListBox
                _DebugPrint("$LBN_DBLCLK" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _
              "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _
              "-->Code:" & @TAB & $iCode)
                ; Pas de valeur retourn�e

            Case $LBN_ERRSPACE
                ; Envoy� quand la ListBox ne peut pas allouer suffisamment de m�moire pour donner suite � une requ�te
                _DebugPrint("$LBN_ERRSPACE" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _
              "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _
              "-->Code:" & @TAB & $iCode)
                ; Pas de valeur retourn�e

            Case $LBN_KILLFOCUS
                ; Envoy� quand la ListBox perd le focus clavier
                _DebugPrint("$LBN_KILLFOCUS" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _
              "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _
              "-->Code:" & @TAB & $iCode)
            ; Pas de valeur retourn�e

            Case $LBN_SELCANCEL
                ; Envoy� quand l'utilisateur annule la s�lection dans la ListBox
                _DebugPrint("$LBN_SELCANCEL" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _
              "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _
              "-->Code:" & @TAB & $iCode)
                ; Pas de valeur retourn�e

            Case $LBN_SELCHANGE
                ; Envoy� quand la s�lection a �t� modifi�e dans la ListBox
                _DebugPrint("$LBN_SELCHANGE" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _
              "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _
              "-->Code:" & @TAB & $iCode)
                ; Pas de valeur retourn�e

            Case $LBN_SETFOCUS
                ; Envoy� quand la ListBox re�oit le focus clavier
                _DebugPrint("$LBN_SETFOCUS" & @CRLF & "--> hWndFrom:" & @TAB & $hWndFrom & @CRLF & _
              "-->IDFrom:" & @TAB & $iIDFrom & @CRLF & _
              "-->Code:" & @TAB & $iCode)
                ; Pas de valeur retourn�e
        EndSwitch

    EndIf

    ; Traite les commandes par d�faut des messages internes AutoIt3.
    ; Vous pouvez �galement compl�ter la ligne de retour.
    ; !!! Mais seulement 'Return' (sans valeur) ne traitera pas
    ; un message AutoIt3 par d�faut � l'avenir !!!

    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND

Func _DebugPrint($s_Text)
    $s_Text = StringReplace($s_Text, @CRLF, @CRLF & "-->")
    ConsoleWrite("!===========================================================" & @CRLF & _
            "+===========================================================" & @CRLF & _
            "-->" & $s_Text & @CRLF & _
            "+===========================================================" & @CRLF)
EndFunc   ;==>_DebugPrint