Oh, das sieht ja super aus
ich hatte auch was zum testen gemacht. (siehe unten)
Allerdings klappt das nicht so, wenn ich die Combobox anklicke, dann öffnet sich wohl das Fenster, allerdings muss ich dann 2x in die Listbox klicken, bei dir geht die dann weg sobald man irgendwo hinklickt.
Besten Dank, ich werde mal schauen ob ich das erweitern kann, so wie ich das möchte.
C
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <EditConstants.au3>
#include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
$Main = GUICreate("Main", 1174, 843, 361, 105)
$ID1 = GUICtrlCreateCombo("", 139, 86, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$ID2 = GUICtrlCreateCombo("", 147, 46, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$ID3 = GUICtrlCreateCombo("", 115, 118, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$1LISTE = GUICtrlCreateCombo("Auswahl", 432, 48, 180, 25);, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$2LISTE = GUICtrlCreateCombo("", 467, 78, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$3LISTE = GUICtrlCreateCombo("", 459, 110, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
$IP1 = GUICtrlCreateInput("", 640, 48, 313, 21)
$IP2 = GUICtrlCreateInput("", 635, 86, 313, 21)
$IP3 = GUICtrlCreateInput("", 635, 110, 313, 21)
;Child1
$Child1 = GUICreate("Auswahl", 450, 300, 432, 73,$WS_POPUP,$WS_EX_MDICHILD,$Main) ;$WS_POPUPWINDOW
$LVTEST = GUICtrlCreateListView("Wert1|Wert2|Wert3",0,0,450,300)
_GUICtrlListView_SetColumnWidth($LVTEST,0,300)
_GUICtrlListView_SetColumnWidth($LVTEST,1,50)
_GUICtrlListView_SetColumnWidth($LVTEST,2,70)
GUISetState(@SW_SHOW,$Main)
Local $aArray_Base[20][3]
For $i = 0 To 19
For $j = 0 To 2
$aArray_Base[$i][$j] = "Item" & $i & " - " & $j
Next
Next
$auswahl = ""
$auswahlset = ""
GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$auswahl = _GUICtrlListView_GetItemText($LVTEST,_GUICtrlListView_GetSelectionMark($LVTEST),0)
;if $auswahl = "ID1" then $auswahl = ""
if $auswahl <> $auswahlset then
GUISetState(@SW_hide, $Child1)
GUICtrlSetData($IP1,_GUICtrlListView_GetItemText($LVTEST,_GUICtrlListView_GetSelectionMark($LVTEST),0))
$auswahlset = $auswahl
endif
WEnd
Func _WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
If _WinAPI_HiWord($wParam) = $CBN_DROPDOWN Then
Switch _WinAPI_LoWord($wParam)
Case $1LISTE
ConsoleWrite("Combo_1 Dropped" & @CRLF)
_GUICtrlListView_AddArray($LVTEST, $aArray_Base)
GUISetState(@SW_SHOW,$Child1)
Case $2LISTE
ConsoleWrite("Combo_2 Dropped" & @CRLF)
Case $3LISTE
ConsoleWrite("Combo_3 Dropped" & @CRLF)
EndSwitch
EndIf
EndFunc
Alles anzeigen