Functions > GUI > GUICtrlCreate >


GUICtrlCreateListView

Cr�e un contr�le ListView pour une GUI.

GUICtrlCreateListView ( "text", left, top [, width [, height [, style = -1 [, exStyle = -1]]]] )

Param�tres

text D�finition des ent�tes des colonnes. Elles sont s�par�es avec Opt("GUIDataSeparatorChar").
left Coordonn�e X du coin sup�rieur gauche du contr�le. Si -1 est utilis� alors X sera automatiquement d�termin�e par GUICoordMode.
top Coordonn�e Y du coin sup�rieur gauche du contr�le. Si -1 est utilis� alors Y sera automatiquement d�termin�e par GUICoordMode.
width [optionnel] Largeur du contr�le (par d�faut, la largeur pr�c�dement utilis�e).
height [optionnel] Hauteur du contr�le (par d�faut, la hauteur pr�c�dement utilis�e).
style [optionnel] D�finit le style du contr�le. Consultez Annexe des styles des contr�les GUI.
    Par d�faut (-1) : $LVS_SHOWSELALWAYS, $LVS_SINGLESEL
    Style forc� : $LVS_REPORT
exStyle [optionnel] D�finit le style �tendu du contr�le. Consultez Table des styles �tendus ou Table des styles �tendus des ListView.
    Par d�faut (-1) : $LVS_EX_FULLROWSELECT, $WS_EX_CLIENTEDGE

Valeur de retour

Succ�s: Retourne l'ID du nouveau contr�le.
�chec: Retourne 0.

Remarques

Pour ajouter des �l�ments � un contr�le ListView utilisez GUICtrlCreateListViewItem()

Le ListView appara�tra par d�faut comme dans la vue des d�tails de l'Explorer (le style LVS_REPORT est forc�).
Vous pouvez contr�ler la taille initiale des colonnes par des blancs de remplissage dans la d�finition des ent�tes de colonnes. La colonne peut �tre �tendue avec GUICtrlCreateListViewItem() selon la taille de l'item. La taille d'une colonne ira jusqu'� environ 25 caract�res. Aucun redimensionnement se fera lors d'une mise � jour par GUICtrlSetData().

Pour cr�er un ListView avec ic�ne, petite ic�ne ou style de liste, utilisez apr�s cr�ation:
GUICtrlSetStyle() avec les styles $LVS_ICON, $LVS_LIST or $LVS_SMALLICON.

Le tri d'une liste en cliquant sur le nom de la colonne (comme dans Explorer) n'est pas mis en oeuvre actuellement.

Pour avoir la ligne enti�re visuellement s�lectionn�e utilisez le extended style LVS_EX_FULLROWSELECT.

Pour combiner des styles avec le style par d�faut utilisez BitOR($GUI_SS_DEFAULT_LISTVIEW, newstyle,...).
Pour utiliser les valeurs sp�cifi�es pr�c�demment utilisez #include <ListViewConstants.au3> dans votre script.

Si vous ajoutez le style $LVS_EX_CHECKBOXES � la ListView, alors les bordures sont enlev�es. Ajoutez le style $WS_EX_CLIENTEDGE pour afficher les bordures.


Le commutateur sp�cial $GUI_BKCOLOR_LV_ALTERNATE peut �tre utilis�e avec le contr�le Listview pour donner un fond alternatif des lignes des ListviewItems.
Les lignes impaires obtiendront le jeu de couleurs par GUICtrlSetBkColor() du contr�le ListView.
Les lignes paires obtiendront le jeu de couleurs par GUICtrlSetBkColor() du contr�le ListViewItem.

En relation

GUICoordMode (Option), GUICtrlCreateListViewItem, GUICtrlRegisterListViewSort, GUICtrlSetData, GUIDataSeparatorChar (Option), GUIGetMsg

Exemple

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

Example()

Func Example()
    GUICreate("listview items", 220, 250, 100, 200, -1, $WS_EX_ACCEPTFILES)
    GUISetBkColor(0x00E0FFFF)  ; Change la couleur de fond

    Local $idListview = GUICtrlCreateListView("col1  |col2|col3  ", 10, 10, 200, 150) ;, $LVS_SORTDESCENDING)
    Local $idButton = GUICtrlCreateButton("Value?", 75, 170, 70, 20)
    Local $idItem1 = GUICtrlCreateListViewItem("item2|col22|col23", $idListview)
    Local $idItem2 = GUICtrlCreateListViewItem("item1|col12|col13", $idListview)
    Local $idItem3 = GUICtrlCreateListViewItem("item3|col32|col33", $idListview)
    GUICtrlCreateInput("", 20, 200, 150)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)  ; pour permettre de glisser-d�poser
    GUISetState(@SW_SHOW)
    GUICtrlSetData($idItem2, "ITEM1")
    GUICtrlSetData($idItem3, "||COL33")
    GUICtrlDelete($idItem1)

    ; Boucle jusqu'� ce que l'utilisateur quitte.
    Local $idMsg = GUIGetMsg() 
    While $idMsg <> $GUI_EVENT_CLOSE
        Switch $idMsg
            Case $idButton
                MsgBox($MB_SYSTEMMODAL, "listview item", GUICtrlRead(GUICtrlRead($idListview)), 2)

            Case $idListview
                MsgBox($MB_SYSTEMMODAL, "listview", "clicked=" & GUICtrlGetState($idListview), 2)

        EndSwitch
        $idMsg = GUIGetMsg()
    WEnd
EndFunc   ;==>Example