GUICtrlPic nach dem laden mit GDI+ wieder leeren (transparent)

    • Offizieller Beitrag

    Ich bräuchte mal eure Hilfe.
    Ich möchte ein Pic-Control nach der Anzeige eines Bildes mit GDI+ wieder transparent haben, sodass ein neues Bild nicht über dem alten Bild angezeigt wird, sondern nur das neue Bild angezeigt wird.
    Hier mal ein Beispiel (wie es nicht aussehen soll):

    Hat jemand eine Idee, wie man das hinkriegen kann?
    Und bitte nicht das Pic-Control löschen und neu erstellen. Das ist keine Alternative. ;)

    • Offizieller Beitrag

    Nach einigen Stunden Trial & Error habe ich nun doch eine Lösung gefunden:

    Mit dieser Lösung bin ich erstmal zufrieden. Wenn jemand noch einen anderen Weg kennt, immer her damit... :)

  • So funzt's auch


    Getestet auf Win8 x64.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

    • Offizieller Beitrag

    Stimmt, das funktioniert (in diesem Beispiel).
    Ich wollte das Problem auf ein kurzes Beispiel reduzieren und habe dabei übersehen, dass das Beispiel nicht ganz das macht, was das eigentliche Script macht.
    _GDIPlus_GraphicsClear($hGfxCtxt, 0x00000000) habe ich nämlich bereits im Script drin. Beim rumprobieren ist mir aufgefallen, dass es entscheidend ist, dass
    das Anfangs Graphic-Object bereits gelöscht ist, wenn die zweite Graphic angezeigt werden soll.
    Du musst Dir das also wie in meinem zweiten Post vorstellen. Vor der MsgBox sind die Bitmap, die Graphic und das Image bereits gelöscht und werden beim zweiten
    Bild neu erstellt.