Ich habe ein Problem mit _GUICtrlComboBoxEx_Create.
Ich möchte erst beim auswählen eines Eintrags diesen ermitteln.
Nun wird jedoch bei jedem überfahren eines Eintrags eine Wert ausgegeben.
Außerdem funktioniert es überhaupt nicht, wenn man noch ein Bild in der ComboBox hat.
Dann wird gar nichts ausgegeben.
Hat jemand einen Tipp für mich?
AutoIt
#Region ;************ Includes ************
#Include <WindowsConstants.au3>
#include <GuiComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#EndRegion ;************ Includes ************
Opt("GUIOnEventMode", 1)
$hGui = GUICreate("Test", 400, 300)
GUISetState(@SW_SHOW)
Global $idCombo = _GUICtrlComboBoxEx_Create($hGui, "", 10, 10, 170, 200, $CBS_DROPDOWNLIST)
Global $hImagelist = _GUIImageList_Create(32, 32, 5, 3)
_GUICtrlComboBoxEx_SetImageList($idCombo, $hImagelist)
_GUIImageList_AddIcon($hImagelist, "shell32.dll", 10, True)
_GUICtrlComboBoxEx_AddString($idCombo, "Test", 0, 0)
Global $idCombo2 = _GUICtrlComboBoxEx_Create($hGui, "", 10, 100, 170, 200, $CBS_DROPDOWNLIST)
_GUICtrlComboBoxEx_AddString($idCombo2, "Test")
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
While 1
Sleep(10)
WEnd
Func _exit()
Exit
EndFunc ;==>_exit
Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
#forceref $hWnd, $iMsg, $wParam
Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $tInfo
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $idCombo
Switch $iCode
Case $CBEN_GETDISPINFOA, $CBEN_GETDISPINFOW ; Gesendet, um Anzeigeinformationen über das Callback-Item abzurufen
ConsoleWrite($iCode & @tab & $CBEN_GETDISPINFOW & @CRLF)
Return 0
EndSwitch
Case $idCombo2
Switch $iCode
Case $CBEN_GETDISPINFOA, $CBEN_GETDISPINFOW ; Gesendet, um Anzeigeinformationen über das Callback-Item abzurufen
ConsoleWrite($iCode & @tab & $CBEN_GETDISPINFOW & @CRLF)
Return 0
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Alles anzeigen