GUI-Design: Hintergrundfarbe einer Gruppierung setzen

  • Hallo allerseits,

    im Augenblick bastel' ich gerade am Design einer GUI und mache sie "schön" ;)
    Dabei sollen alle Gruppen eine andere Hintergrundfarbe bekommen als die GUI selber.

    Bisher habe ich mangels besserer Alternative die Gruppen folgendermaßen zusammengestellt:

    Spoiler anzeigen
    [autoit]

    #Region Einzubindende Dateien
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #EndRegion

    [/autoit] [autoit][/autoit] [autoit]

    #Region Globale Variablen
    Global $g_gui
    Global $g_gui_msg
    #EndRegion

    [/autoit] [autoit][/autoit] [autoit]

    $g_gui = GUICreate("Testoberfläche", 800, 600, 10, 10)
    GUISetBkColor(0xc8c8c8)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateGroup(" Dateien ", 10, 10, 300, 100)
    GUICtrlCreateGraphic(12,18,298,92)
    GUICtrlSetBkColor(-1, 0xf8f8f8)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $g_gui_msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Switch $g_gui_msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    EndSwitch

    [/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    Wie man sieht, füge ich zu jeder Gruppe noch eine Grafik mit den entsprechenden Dimensionen hinzu, der ich dann die gewünschte Farbe zuweise.
    Geht das eventuell auch einfacher?
    Ich habe bisher keine Funktion gefunden, die für Gruppen ähnliches bewirkt.
    Bin ich "nur" betriebsblind oder gibt es sowas in AutoIt nicht?

    Gruß
    Benne

  • Hi, ich habe es auf diese Art gemacht. ;)

    [autoit]


    #Region Group Daten
    GUICtrlCreateLabel("", 220, 12, 164, 152)
    GUICtrlSetBkColor(-1, 0xEEEEEE) ;i silber
    GUICtrlSetState(-1, $GUI_DISABLE)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateGroup("", 220, 5, 165, 160) ; create group $gbDaten

    [/autoit][autoit][/autoit][autoit]

    ;~ [...]

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateGroup("", -99, -99, 1, 1) ; close group $gbDaten
    #EndRegion Group Daten

    [/autoit]
  • Noch ein kleiner Tipp :

    Ich würde den Hintergrund mit einem Bildbearbeitungsprogramm erstellen und das Bild dann als JPG oder ... als Bild in die GUI hinzufügen..

    Wenn du dann den Code erstellt hast, noch die Zeile, wo GUICtrlCreatePic ( .... ) steht vor GUISetState(@SW_SHOW) setzen, da es sonst Probleme geben kann.

    Und am Besten machst du dies alles mit Koda Form Designer.

    Mit freundlichen Grüßen,

    White