Schriftfarbe bei GUICtrlCreateGroup() wird bei Win7 nicht übernommen

  • Hallo zusammen,

    hab da gerade was seltsames bemerkt...
    Mein Programm läuft normalerweise unter WinXP SP3.
    Hier werden alle Schriftfarben richtig benutzt und angezeigt.

    In Win7 64 hier bei mir wird die Schrift allerdings falsch angezeigt... Sie bleibt schwarz!!!
    Hat da einer eine Idee zu?
    Das Problem betrifft nämlich ausschliesslich Gruppen. Alle anderen Texte werden einwandfrei gezeichnet.


    [autoit]


    Global $font = "Arial"

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

    $group1 = GUICtrlCreateGroup("Setup", 630, 15, 300, 100)
    GUICtrlSetFont(-1, 11, 1000, 0, $font)
    GUICtrlSetColor(-1, 0xFFFFFF) ; weiß;

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

    ;====== Set Online-Modus if target is connected ===============
    $radio1 = GUICtrlCreateRadio("Target is connected", 660, 45, 200, 20)
    GUICtrlSetFont(-1, 11, 1000, 0, $font)
    GUICtrlSetColor(-1, 0xFFFFFF) ; weiß

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

    $radio2 = GUICtrlCreateRadio("Target is not connected", 660, 75, 200, 20)
    GUICtrlSetFont(-1, 11, 1000, 0, $font)
    GUICtrlSetColor(-1, 0xFFFFFF) ; weiß

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

    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

    [/autoit]

    Gruß
    Pitter

    2 Mal editiert, zuletzt von Pitter (21. Oktober 2012 um 23:16) aus folgendem Grund: angezeigte Farbe dazu geschrieben...

    • Offizieller Beitrag

    Hallo Pitter,

    Jep, das ist ein bekanntes Problem da unter Windows 7 die Gruppen anders gezeichnet werden als noch unter XP (Dort war es einfach ein Label).
    Du könntest entweder dir eine eigene Gruppe erstellen, ich glabue dazu gibt es sogar schon UDFs in AutoIt, einfach mal googlen, oder du setzt die Group auf den alten Style:

    Spoiler anzeigen
    [autoit]

    Global $font = "Arial"

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

    $group1 = GUICtrlCreateGroup("Setup", 630, 15, 300, 100)
    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($group1), "wstr", 0, "wstr", 0) ;
    GUICtrlSetFont(-1, 11, 1000, 0, $font)
    GUICtrlSetColor(-1, 0xFFFFFF) ; weiß;

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

    ;====== Set Online-Modus if target is connected ===============
    $radio1 = GUICtrlCreateRadio("Target is connected", 660, 45, 200, 20)
    GUICtrlSetFont(-1, 11, 1000, 0, $font)
    GUICtrlSetColor(-1, 0xFFFFFF) ; weiß

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

    $radio2 = GUICtrlCreateRadio("Target is not connected", 660, 75, 200, 20)
    GUICtrlSetFont(-1, 11, 1000, 0, $font)
    GUICtrlSetColor(-1, 0xFFFFFF) ; weiß

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

    GUICtrlCreateGroup("", -99, -99, 1, 1) ;close group

    [/autoit]

    Gruß,
    Spider

  • Hallo Spider,

    danke für den Hinweis.
    Mir war das vorher nie aufgefallen, weil ich eigentlich immer unter XP arbeite.

    Diese eine Gruppe ist eine von vielen Gruppen, die ich hier habe. Wenn ich alle umschreiben muss mit DLL call, na dann Mahlzeit... :thumbdown:
    Eine passende UDF hab ich noch nicht finden können, vielleicht hat da einer einen Link zu? Das wäre genial, weil ich mehrere Programme umhäkeln muss, weil die unter Win7 so nicht funktionieren.... hab halt keinen weissen Background, weil ich einen besseren Kontrast brauche und daher weiss auf schwarz arbeite....

    Gruß
    Pitter

  • Ahhh... Danke für den Link.
    Das passt mir schon viel besser, als 45 Gruppen mit mehr als 3 beschrifteten Radiobuttons jeweils mit dem DLL call zu beglücken.

    Gruß
    Pitter