Funktionsreferenz

_GUICtrlComboBox_Create

Erstellt ein ComboBox Control

#Include <GuiComboBox.au3>
_GUICtrlComboBox_Create($hWnd, $sText, $iX, $iY[, $iWidth = 100[, $iHeight = 120[, $iStyle = 0x00200042[, $iExStyle = 0x00000000]]]])

 

Parameter

$hWnd Handle zum Parent- oder Eigner-Fenster
$sText Mit '|' (Delimiter) unterteilter String, dessen Unterstrings der ComboBox hinzugefügt werden sollen
$iX Horizontale Position des Controls
$iY Vertikale Position des Controls
$iWidth [optional] Breite des Controls
$iHeight [optional] Höhe des Controls
$iStyle [optional] Stile des Controls:
$CBS_AUTOHSCROLL - Scrollt den Text in einem Textfeld automatisch nach rechts, wenn der Benutzer ein Zeichen am Zeilenende eingibt.
$CBS_DISABLENOSCROLL - Zeigt eine inaktive vertikale Scroll-Leiste in der Auswahl-Box der Liste an.
$CBS_DROPDOWN - Ähnlich wie $CBS_SIMPLE, außer dass die ListBox nicht dargestellt wird, bis der Benutzer ein Icon in der Nähe des Edit-Controls markiert
$CBS_DROPDOWNLIST - Ähnlich wie $CBS_DROPDOWN, außer dass das Edit-Control durch ein statisches Textitem ersetzt wird, welches die aktuelle Markierung in der ListBox darstellt
$CBS_LOWERCASE - Wandelt den gesamten Text in Kleinbuchstaben um, sowohl im Auswahlfeld als auch in der Liste der Combobox
$CBS_NOINTEGRALHEIGHT - Legt fest, dass die Combobox genau die Größe beibehält, die beim Erzeugen der Combobox festgelegt wurde
$CBS_OEMCONVERT - Wandelt eingetippten Text im Combobox-Input-Control vom Windows CE-Zeichensatz in den OEM-Zeichensatz um, und dann wieder in den Windows CE-Zeichensatz zurück
$CBS_OWNERDRAWFIXED - Legt fest, dass der Besitzer der List-Box verantwortlich für das Zeichnen des Inhalts ist und dass die Items in der List-Box alle die selbe Höhe haben
$CBS_OWNERDRAWVARIABLE - Legt fest, dass der Besitzer der ListBox verantwortlich für das Zeichnen des Inhalts ist und dass die Items in der ListBox in der Höhe variabel sind
$CBS_SIMPLE - Zeigt die Auswahlliste immer an.
$CBS_SORT - Sortiert automatisch Strings, die in die Liste eingegeben wurden.
$CBS_UPPERCASE - Wandelt den gesamten Text in Großbuchstaben um, sowohl im Auswahlfeld als auch in der Liste der Combobox
Standard: $CBS_DROPDOWN, $CBS_AUTOHSCROLL, $WS_VSCROLL
Erzwungen: $WS_CHILD, $WS_TABSTOP, $WS_VISIBLE
$iExStyle [optional] erweiterte Stile des Controls. Diese entsprechen den Standard $WS_EX_ Konstanten.

 

Rückgabewert

Erfolg: Handle zu dem Listbox Control
Fehler: 0

 

Bemerkungen

Diese Funktion ist für erfahrene Benutzer und zum erlernen der Funktion von Controls.

- - - - - - - - Erklärung der Controls - - - - - - - -

 

Verwandte Funktionen

_GUICtrlComboBox_Destroy

 

Beispiel


#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GUIComboBox.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>

Opt('MustDeclareVars', 1)

$Debug_CB = False ; Prüft den Klassennamen (ClassName), der an die ComboBox/ComboBoxEx-Funktion übergeben wird. Setze dies versuchsweise auf True und verwende dann ein Handle zu einem anderen Control, um die Funktionsweise zu verstehen.

Global $hCombo

_Main()

Func _Main()
    Local $hGUI

    ; Erstellt eine GUI
    $hGUI = GUICreate("(UDF) ComboBox: Erstellen", 400, 296)
    $hCombo = _GUICtrlComboBox_Create($hGUI, "", 2, 2, 396, 296)
    GUISetState()

    ; Fügt Dateien hinzu
    _GUICtrlComboBox_BeginUpdate($hCombo)
    _GUICtrlComboBox_AddDir($hCombo, "", $DDL_DRIVES, False)
    _GUICtrlComboBox_EndUpdate($hCombo)

    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main

Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg
    Local $hWndFrom, $iIDFrom, $iCode
    $hWndFrom = $ilParam
    $iIDFrom = BitAND($iwParam, 0xFFFF) ; Niederwertiges Wort
    $iCode = BitShift($iwParam, 16) ; Höherwertiges Wort
    Switch $hWndFrom
        Case $hCombo
            Switch $iCode
                Case $CBN_CLOSEUP ; Gesendet, wenn die Aufklappliste einer ComboBox geschlossen wurde
                    _DebugPrint("$CBN_CLOSEUP" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
                Case $CBN_DBLCLK ; Gesendet, wenn der Benutzer einen Doppelklick auf einen String in der Aufklappliste einer ComboBox ausgeführt hat
                    _DebugPrint("$CBN_DBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
                Case $CBN_DROPDOWN ; Gesendet, wenn die Aufklappliste einer ComboBox davor ist, sichtbar zu werden
                    _DebugPrint("$CBN_DROPDOWN" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
                Case $CBN_EDITCHANGE ; Gesendet, nachdem der Benutzer eine Aktion ausgeführt hat, die möglicherweise den Text in dem Input-Control einer ComboBox geändert hat.
                    _DebugPrint("$CBN_EDITCHANGE" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
                Case $CBN_EDITUPDATE ; Gesendet, wenn das Input-Control einer ComboBox davor ist, geänderten Text anzuzeigen.
                    _DebugPrint("$CBN_EDITUPDATE" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
                Case $CBN_ERRSPACE ; Gesendet, wenn eine ComboBox den angeforderten Speicher nicht reservieren konnte
                    _DebugPrint("$CBN_ERRSPACE" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
                Case $CBN_KILLFOCUS ; Gesendet, wenn die ComboBox den Fokus verloren hat
                    _DebugPrint("$CBN_KILLFOCUS" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
                Case $CBN_SELCHANGE ; Gesendet, wenn der Benutzer die Auswahl in der Aufklappliste einer ComboBox verändert hat
                    _DebugPrint("$CBN_SELCHANGE" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
                Case $CBN_SELENDCANCEL ; Gesendet, wenn der Benutzer ein Item auswählt, aber dann ein anderes Control auswählt oder das Dialogfenster schließt.
                    _DebugPrint("$CBN_SELENDCANCEL" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
                Case $CBN_SELENDOK ; Gesendet, wenn der Benutzer ein Item aus der Aufklappliste auswählt, oder ein Item auswählt und dann die Aufklappliste schließt.
                    _DebugPrint("$CBN_SELENDOK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
                Case $CBN_SETFOCUS ; Gesendet, wenn die ComboBox den Tastatur-Fokus empfangen hat
                    _DebugPrint("$CBN_SETFOCUS" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; Kein Rückgabewert
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_COMMAND

Func _DebugPrint($s_text, $line = @ScriptLineNumber)
    ConsoleWrite( _
            "!===========================================================" & @LF & _
            "+======================================================" & @LF & _
            "-->Zeile(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
            "+======================================================" & @LF)
EndFunc   ;==>_DebugPrint