Hallo liebe Hardcorecoder, mal ne praktische Frage. Ich lege mittlereile meine Buttons mit Hilfe von Arrays an. Nun hatte ich mir überlegt auch andere GUIelemente in einem Array zu verarbeiten. Das hat soweit auch funktioniert, nur komischerweise zeigt er die Tolltips von Icons nicht an, vielleicht sieht ja einer den Fehler, eh ich grauwe Haare kriege;)
AutoIt
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
;Global $button1, $Icon1
Local $arElements = [ _
["Button1", "Button", "Save List", 10, 340, 100, 30, "Liste speichern", "", ""], _
["Button2", "Button", "Host1", 210, 30, 70, 30, "nd", "", ""], _
["Button3", "Button", "Host2", 210, 70, 70, 30, "nd", "", ""], _
["Button4", "Button", "Workgroup", 210, 110, 70, 30, "nd", "", ""], _
["Button5", "Button", "Fritz", 280, 30, 70, 30, "nd", "", ""], _
["Button6", "Button", "IT-Service", 280, 70, 70, 30, "nd", "", ""], _
["Button7", "Button", "Lesesaal", 280, 110, 70, 30, "nd", "", ""], _
["Button14", "Button", "Save and choose file", 190, 340, 160, 30, "sdsds", "", ""], _
["Checkbox1", "Checkbox", "AdminUser", 10, 390, 90, 20, "", $GUI_CHECKED, ">>>"], _
["Label1", "Label", "Freie Listen", 210, 10, 100, 20, "", "", "9,800,800"], _
["Icon1", "Icon", "shell32.dll", 168, 320, 390, 50, 50, "Öffnet die Settings", "", ""] _
]
Local $hParent = GUICreate("TESTGUI", 500, 500)
GUISetState(@SW_SHOW, $hParent)
Local $Element[UBound($arElements)]
For $i = 0 To UBound($arElements) - 1
Switch $arElements[$i][1]
Case "Button"
$Element[$i] = GUICtrlCreateButton($arElements[$i][2], $arElements[$i][3], $arElements[$i][4], $arElements[$i][5], $arElements[$i][6])
GUICtrlSetTip($Element[$i], $arElements[$i][7])
Case "Checkbox"
$Element[$i] = GUICtrlCreateCheckbox($arElements[$i][2], $arElements[$i][3], $arElements[$i][4], $arElements[$i][5])
GUICtrlSetState($Element[$i], $arElements[$i][8])
Case "Label"
$Element[$i] = GUICtrlCreateLabel($arElements[$i][2], $arElements[$i][3], $arElements[$i][4], $arElements[$i][5])
If $arElements[$i][9] <> "" Then
Local $fontParams = StringSplit($arElements[$i][9], ",")
GUICtrlSetFont($Element[$i], $fontParams[1], $fontParams[2], $fontParams[3])
EndIf
Case "Icon"
$Element[$i] = GUICtrlCreateIcon($arElements[$i][2], $arElements[$i][3], $arElements[$i][4], $arElements[$i][5], $arElements[$i][6], $arElements[$i][7], $arElements[$i][8])
GUICtrlSetTip($Element[$i], $arElements[$i][9])
EndSwitch
Assign($arElements[$i][0], $Element[$i]) ; Weise die ID direkt den globalen Variablen zu
Next
; Hauptschleife
While 1
Switch GUIGetMsg() ; Ereignis abrufen
Case $GUI_EVENT_CLOSE
Exit ; Beenden, wenn das Fenster geschlossen wird
Case $Button1
MsgBox($MB_OK, "Button Clicked", "Save List") ; Meldung anzeigen, wenn Button1 geklickt wird
Case $Button2
MsgBox($MB_OK, "Button Clicked", "Host1") ; Meldung anzeigen, wenn Button2 geklickt wird
Case $Button3
MsgBox($MB_OK, "Button Clicked", "Host2") ; Meldung anzeigen, wenn Button3 geklickt wird
Case $Button14
MsgBox($MB_OK, "Button Clicked", "Save and choose file") ; Meldung anzeigen, wenn Button14 geklickt wird
; Fügen Sie hier weitere Cases für die anderen Buttons hinzu
EndSwitch
WEnd
Alles anzeigen
lg und schöne Woche noch