Transparentes Label flackert über Hintergrundbild

  • Hi Leute,

    ich weiß, ist schon oft ein Thema gewesen mit dem Flackern eines Labels, aber irgendwie funktioniert nix bei mir.
    Hier mal ein Beispiel-Code:

    Spoiler anzeigen

    Bild ist angehangen.

    Inputs flackern zwar nicht, bekommt man aber leider ja nicht so einfach transparent.
    Nennt mich ruhig Idiot, hauptsache ich bekomm eine Lösung :D;)

    Danke an Euch

    Gruß
    Balti

  • Mit Double-Buffering flackert's bei mir nicht mehr.
    Du musst dann halt die Control-Erstellung umkehren.

    AutoIt
    $Main = GUICreate("Main", 1820, 980, -1, -1, -1, $WS_EX_COMPOSITED)
    
    
    $TestLabel = GUICtrlCreateLabel("0", 20, 20, 100, 25)
    GUICtrlSetColor(-1, "0xFFFFFF")
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    
    
    GUICtrlCreatePic(@ScriptDir & "\BG.jpg", 0, 0, @DesktopWidth, @DesktopHeight - 40)
    GUICtrlSetState(-1, $GUI_DISABLE)
  • Thx CentuCore, das reicht mir so schon fast.

    Leider klappt es nicht mehr so gut, wenn man mehr wie 15 Labels hat.

    Spoiler anzeigen

    @alpines

    Hmm, da fehlt mir wahrscheinlich die Zeit zu und mein Wissen über GDI+ ist, sagen wir mal, mittelprächtig.

    P.S.: Geht man eigentlich besser über AdlibRegister oder über TimerInit() und TimerDiff() in der Hauptschleife um ein Update zu machen???

    Einmal editiert, zuletzt von MrB (28. Oktober 2015 um 18:01)

  • KA warum das so ist.
    KA warum mein Beispiel überhaupt funktioniert hat :D

    Wenn du wirklich nur Label hast verwend einfach GDI+.
    Alles was du brauchst ist folgendes:

  • Ah, thx UEZ. Sieht gut aus.
    Bin grad am Testen und bin mit verschiedenen Timern bei 39 Labeln ohne das es flackert. Hab den Vorteil, dass ich die Daten Zeitversetzt aktualisieren kann und dann geht´s halbwegs.
    Sollte es irgendwann dennoch flackern, muss ich mich doch noch mit GDI+ beschäftigen. Irgendwie ist dabei das löschen am schwierigsten ^^.

    Danke an Alle