OK, habe jetzt die folgende Func hinzugefügt und habe nach dem erstellen des Labels die Zeile GUICtrlSetOnEvent(-1, _admin_config) eingefügt.
Wäre das so korrekt oder lässt sich das auch anders lösen?
Func _admin_config()
MsgBox(0,"","test")
EndFunc
AutoIt
#include <Array.au3>
#include <GUIConstantsEx.au3>
; zum leichteren Zugriff auf die Attribute im URL-Array
Global Enum $eID, $eName, $eURL, $eGUI
; Das Eingabearray
Global $aURLArray[][4] = [["ID", "Name", "URL", "GUI"], [1,"AutoIt","www.autoit.de", 0], [2,"Heise","www.heise.de", 1], [3,"Test1","www.test1.de", 0], [4,"Test2","www.test2.de", 0], [5,"Test3","www.test3.de", 0], [6,"Test4","www.test4.de", 0], [7,"Test5","www.test5.de", 1], [8,"Test6","www.test6.de", 0], [9,"Test7","www.test7.de", 0]]
; aus dem Array abgeleitete Parameter
Global $nEntries = UBound($aURLArray, 1) - 1
; Layout-Parameter (Größen und Abstände der Buttons)
Global $iCols = 3, _ ; Anzahl der Spalten der Buttons
$iRows = Ceiling($nEntries / $iCols), _ ; Anzahl der Zeilen der Buttons
$iButtonWidth = 150, _ ; Breite eines Buttons
$iButtonHeight = 25, _ ; Höhe eines Buttons
$iButtonXStep = 15, _ ; horizontaler Abstand der Buttons
$iButtonYStep = 15, _ ; vertikaler Abstand der Buttons
$iMarginT = 30, _ ; Dicke des oberen Randes um die Button-Matrix
$iMarginB = 20, _ ; Dicke des unteren Randes um die Button-Matrix
$iMarginL = 20, _ ; Dicke des linken Randes um die Button-Matrix
$iMarginR = 20, _ ; Dicke des rechten Randes um die Button-Matrix
$iGUIWidth = $iMarginL + $iMarginR + $iCols * $iButtonWidth + ($iCols - 1) * $iButtonXStep, _ ; Breite des GUI
$iGUIHeight = $iMarginT + $iMarginB + $iRows * $iButtonHeight + ($iRows - 1) * $iButtonYStep ; Höhe des GUI
; das GUI erstellen
Opt("GUIOnEventMode", 1)
$GUI = GUICreate("Website AutoLogin " & FileGetVersion(@ScriptName), $iGUIWidth, $iGUIHeight)
GUISetOnEvent($GUI_EVENT_CLOSE, _raus)
$label = GUICtrlCreateLabel("admin config",55,8,100,25)
GUICtrlSetFont($label, 8, 300, 0, "Arial")
;IF @UserName <> "userxyz" Then GUICtrlSetState($label, $GUI_Hide)
GUICtrlSetOnEvent(-1, _admin_config)
; Das Array durchgehen und die Buttons erstellen
Global $iPosX, $iPosY, $iButtonX, $iButtonY
For $i = 1 To $nEntries
; die Koordinaten des Buttons in der Button-Matrix
$iPosX = Mod($i - 1, $iCols)
$iPosY = Ceiling($i / $iCols) - 1
; die GUI-Koordinaten des Buttons
$iButtonX = $iMarginL + $iPosX * ($iButtonWidth + $iButtonXStep)
$iButtonY = $iMarginT + $iPosY * ($iButtonHeight + $iButtonYStep)
; Den Button selbst erstellen
GUICtrlCreateButton($aURLArray[$i][$eName], $iButtonX, $iButtonY, $iButtonWidth, $iButtonHeight)
; Verknüpfe Button mit Funktion _search
GUICtrlSetOnEvent(-1, _search)
Next
; GUI anzeigen
GUISetState(@SW_SHOW)
; Endlosschleife um GUI am Leben zu halten
Do
Sleep(100)
Until 0
; eigene Funktion, welche beim Klick auf einen Button ausgelöst wird
Func _search()
Local $sName = GUICtrlRead(@GUI_CtrlId)
Local $iPos = _ArraySearch($aURLArray, $sName, 1, 0, 1, 0, 0, $eName)
Local $sURL = $aURLArray[$iPos][$eURL]
MsgBox(0,"Array Position", "Element: " & $sName & @CRLF & "Position: " & $iPos & @CRLF & "URL: " & $sURL)
EndFunc
; Funktion zum Beenden des GUI
Func _raus()
Exit
EndFunc
; Funktion für den Admin Config Bereich
Func _admin_config()
MsgBox(0,"","test")
EndFunc
Alles anzeigen
Gruß Marcel