Crée un contrôle ListBox
#include <GuiListBox.au3>
_GUICtrlListBox_Create ( $hWnd, $sText, $iX, $iY [, $iWidth = 100 [, $iHeight = 200 [, $iStyle = 0x00B00002 [, $iExStyle = 0x00000200]]]] )
$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 |
Succès: | Retourne le handle du contrôle ListBox. |
Échec: | Retourne 0. |
Cette fonction est destinée aux utilisateurs avertis ainsi que pour apprendre comment fonctionne le contrôle.
#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