GUI-Problem mit Hintergrund

  • Moinsen...

    Folgendes Problem:
    Hab hier eine GUI erstellt mit:

    [autoit]


    Func _Main()
    ;==========================================================
    ;====== call func ebiniread to readout ini ================
    ;==========================================================
    _ebiniread()

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

    ;==========================================================
    ;====== set gui ===========================================
    ;==========================================================
    $WinMain = GUICreate($progname, 1200, 800, -1, -1)
    GUICtrlSetColor($WinMain, 0xFAFFFF)
    GUICtrlSetBkColor($WinMain, 0x000000)

    [/autoit]

    Mit dem erstellten Button öffne ich eine Textdatei:

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

    Case $EditButton ;===== opens editor to work with saved Textfile
    $edit = ShellExecuteWait($directory & $timestamp & '\' & $filename)
    While ProcessExists($edit)
    WEnd

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

    _WinAPI_RedrawWindow($WinMain)
    GUIRegisterMsg($WM_ERASEBKGND, "_redraw")

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

    GUICtrlSetColor($WinMain, 0xFAFFFF)
    GUICtrlSetBkColor($WinMain, 0x000000)

    [/autoit]

    Problem ist nun, dass nach dem Schliessen des Editorfensters der Hintergrund der MAIN gegen eine Ansicht des Editors.
    Wichtig ist noch, dass ich auf der GUI eine PNG anzeigen lasse, die nach dem Moinimieren der GUI das PNG wieder drauf malt:

    [autoit]

    ;======= Redraw func to set PNG to WinMain if programm has been minimized
    Func _redraw()
    _GDIPlus_GraphicsClear($hGraphic1, 0xFF232A30)
    _GDIPlus_GraphicsDrawImageRect($hGraphic1, $hImage, 615, 545, 400, 240)
    Return 1
    EndFunc ;==>_redraw

    [/autoit]

    Was hab ich da für einen Denkfehler drin?!?

    Gruß
    PItter

    Gruß
    Pitter

  • Stimmt...

    C&P-Fehler, sorry ... hat aber meines Erachtens jetzt nix mit dem Problem an sich zu tun, oder? ;)

    [autoit]


    $WinMain = GUICreate($progname, 1200, 800, -1, -1)
    GUISetBkColor(0x232A30) ;~ set background color

    [/autoit]

    Der Fehler bleibt der Gleiche...

    Gruß
    Pitter

    Gruß
    Pitter

    • Offizieller Beitrag

    Der Fehler bleibt der Gleiche...


    Na super, vielleicht beschreibst du ihn dann mal klar?
    Mit dem Satz

    Zitat

    Problem ist nun, dass nach dem Schliessen des Editorfensters der Hintergrund der MAIN gegen eine Ansicht des Editors.

    kann ich selbst nach 10-mal Lesen null komma nix anfangen. :wacko:

  • Hmmm... also versuche ich das noch mal zu erklären:

    • Ich öffne den Editor mit einem Button meiner GUI.
    • Ich schliesse den Editor wieder.
    • Meine GUI ist wieder im Vordergrund


    Was passiert?

    Meine GUI ist nicht mehr Anthrazit, sondern als Hintergrund meiner GUI habe ich nun einen Screenshot des Editors. :wacko:

    Gruß
    Pitter

  • Hab den Fehler gefunden...
    Problem war in der Func in der ich das PNG einlese.
    Da fehlte mir der _redraw und _WinAPI_RedrawWindow($WinMain)

    Jetzt nur noch eine Frage...
    Wenn ich das Fenster aus dem Bildschirm raus schíebe, gehen alle Buttons, Editboxen usw "verloren".
    Ich muss das Fenster dann erst minimieren und wieder hoch holen, dass alles neu gezeichnet wird.

    Habt Ihr eine Idee, wie ich das noch hin bekommen könnte, dass das manuelle rausschieben des Fensters nicht zum Zerstören der Oberfläche führt?

    Gruß
    Pitter