Farb- und Darstellungprobleme GUI

  • Hallöchen,

    ich habe ein paar Farb- und Darstellungsprobleme, wo ich nicht weiß wie ich Sie lösen kann.
    Im folgenden Script werden zwei Grafik-Hintergründe, eine Checkbox, ein Button, ein Label und eine Listbox mit Werten dargestellt.

    Probleme:
    Die Textfarbe von der Checkbox kann ich nicht ändern. Sie ist schwarz und da der Hintergrund auch schwarz ist, sieht man nichts.
    Der weiße Rahmen von der Listbox möchte ich auch farblich ändern. Leider finde ich dazu nichts.
    Die schwarzen Hintergründe von der Checkbox und vom Label möchte ich nicht und sollen transparent dargestellt werden. Geht das?
    Die Werte in der Listbox erscheinen mir zu nah am Rahmen. Lässt sich der Abstand irgendwie definieren?
    Der Button und die Checkbox sind zwar sichtbar, aber nicht anklickbar. Setze ich die Hintergründe zuletzt, dann sind 'se nicht sichtbar aber anklickbar, wenn man weiß wo se dargestellt sind.

    Hier das Chaos-Script:

    Die Datei background.bmp ist dem Posting angehangen.

    Einmal editiert, zuletzt von Axel (6. Juli 2010 um 16:22)

    • Offizieller Beitrag

    Zu deinen Problemen:

    - Die Controls können nicht angeklickt werden weil die Hintergrundbilder nicht auf Disabled gesetzt sind.
    - Die Checkbox einfach nur auf die Größe der eigentlichen Checkbox erstellen und zum Beschriften ein Label nehmen.
    - Die Labels brauchen eigentlich nur einen Transparenten Hintergrund

    Für die Listbox fällt mir gerade nix ein.

    Für die Listbox den Extended Style $WS_EX_TRANSPARENT verwenden. :thumbup:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListBoxConstants.au3>

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

    $window = GUICreate("Test", 1000, 700)
    GUISetBkColor(0x000000)
    GUICtrlCreatePic(@ScriptDir & "\backbround.bmp", 5, 70, 700, 600)
    GUICtrlSetState(-1, $GUI_DISABLE); Hintergrundbild deaktivieren damit das vorangestellte Control anklickbar ist
    GUICtrlCreatePic(@ScriptDir & "\backbround.bmp", 710, 73, 285, 200)
    GUICtrlSetState(-1, $GUI_DISABLE); Hintergrundbild deaktivieren damit das vorangestellte Control anklickbar ist
    $schalter = GUICtrlCreateCheckbox("", 18, 82, 12, 12); Checkcontrol nur in der Größe der Box erstellen
    $sText = GUICtrlCreateLabel("Dies ist eine Checkbox", 34, 82); Hier ist der Text für die Checkbox
    GUICtrlSetColor($sText, 0x909090)
    GUICtrlSetBkColor($sText, $GUI_BKCOLOR_TRANSPARENT); Hintergrund des Textes Transparent machen
    $button = GUICtrlCreateButton("Button", 593, 80, 100, 25)
    GUICtrlSetColor($button, 0xffffff)
    GUICtrlSetBkColor($button, 0x606060)
    GUICtrlSetFont($button, 12)

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

    $text = GUICtrlCreateLabel("Mein Text", 720, 80, 150, 20)
    GUICtrlSetFont($text, 14)
    GUICtrlSetColor($text, 0xa0a0a0)
    GUICtrlSetBkColor($text, $GUI_BKCOLOR_TRANSPARENT); Hintergrund des Textes Transparent machen
    $liste = GUICtrlCreateList("", 15, 110, 680, 560, $LBS_SORT,$WS_EX_TRANSPARENT)
    GUICtrlSetFont($liste, 12)
    GUICtrlSetColor($liste, 0xb0b0b0)
    GUICtrlSetBkColor($liste, 0x202020)
    GUICtrlSetData($liste, "Eintrag nummer eins")
    GUICtrlSetData($liste, "Eintrag nummer zwei")
    GUICtrlSetData($liste, "Eintrag nummer drei")

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd

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

    GUIDelete()

    [/autoit]
  • Hallo Raupi,
    danke für deine Tipps. :thumbup:
    Das mit den Hintergrund habe ich auch mit $GUI_BKCOLOR_TRANSPARENT gelöst. Wenn ich den Hintergrund deaktiviere, dann sehe ich diesen ja nicht mehr.
    Gruß,
    Axel

    • Offizieller Beitrag

    Der Hintergrund ist zwar deaktiviert, aber er wird weiterhin angezeigt. Das deaktivieren bezieht sich auf die Klickeigenschaften des Picture Controls. Wenn es nicht deaktiviert ist, fängt es die Mausklicks ab.