none
Wie kann ich den Child Teil eines Fensterinhalts sichern und nach minimieren/maximieren wiederherstellen? RRS feed

  • Frage

  • Hallo,

    ich habe folgendes Problem:

    Ich schreibe Grafikinformationen in den Child Teil eines Fensters, das funktioniert soweit auch.

    Wenn ich nun das Fenster minimiere und danach wieder maximieren möchte, bleibt der Child Teil des Fensters leer.
    Im WM_PAINT Event könnte ich dies handeln, aber alles was ich mache(speichern der Bitmap und Rückspielen der gespeicherten Bitmap führt zu keinem Erfolg.

    Oder habe ich irgendwo einen Denkfehler - ein anders Event wird getriggert, an das ich nicht denke o.Ä.?

    Ich bin für jede Info dankbar.

    Gruß

    Michael

    Dienstag, 12. Juni 2018 10:43

Antworten

  • Ich zeichne direkt mittels MovToEx, AngleArc oder LineTo in den entsprechenden DC.

    Das Zeichnen funktioniert soweit auch, nur wenn ich den Minimieren Button des Fensters anklicke und anschließendMaximieren möchte, wird das Fenster zwar angezeigt(an gleicher Stelle wie vor dem Minimieren), jedoch ohne Inhalt.

    Der Child Teil ist der Teil des Fensters, der zur Darstellung zur Verfügung steht, also ohne Title bar und ohne Scrollbars etc.

    Wenn das alles so richtig ist, musst Du nur deine Methode aus der Behandlung von WM_PAINT aufrufen und das war es auch schon, an anderer Stelle ist in Folge davon kein Zeichnen notwendig.

    - Gruß Florian

    Dienstag, 12. Juni 2018 12:21

Alle Antworten

  • Ich schreibe Grafikinformationen in den Child Teil eines Fensters, das funktioniert soweit auch.

    Wie und wo machst Du dies? Was verstehst Du unter Grafikinformationen? Was meinst Du mit Child Teil?

    Das Zeichnen gehört, unter Windows, in das WM_PAINT Event.


    - Gruß Florian

    Dienstag, 12. Juni 2018 11:08
  • Ich zeichne direkt mittels MovToEx, AngleArc oder LineTo in den entsprechenden DC.

    Das Zeichnen funktioniert soweit auch, nur wenn ich den Minimieren Button des Fensters anklicke und anschließendMaximieren möchte, wird das Fenster zwar angezeigt(an gleicher Stelle wie vor dem Minimieren), jedoch ohne Inhalt.

    Der Child Teil ist der Teil des Fensters, der zur Darstellung zur Verfügung steht, also ohne Title bar und ohne Scrollbars etc.

    Dienstag, 12. Juni 2018 11:37
  • Du musst deine Mal-Routinen in WM_PAINT machen. Windows ruft WM_PAINT sehr häufig auf. Wenn da dann nichts drin steht, weil du deine Mal-Routinen woanders einmal durchgeführt hast, bleibt der Hintergrund leer.
    Dienstag, 12. Juni 2018 12:00
  • Ich zeichne direkt mittels MovToEx, AngleArc oder LineTo in den entsprechenden DC.

    Das Zeichnen funktioniert soweit auch, nur wenn ich den Minimieren Button des Fensters anklicke und anschließendMaximieren möchte, wird das Fenster zwar angezeigt(an gleicher Stelle wie vor dem Minimieren), jedoch ohne Inhalt.

    Der Child Teil ist der Teil des Fensters, der zur Darstellung zur Verfügung steht, also ohne Title bar und ohne Scrollbars etc.

    Wenn das alles so richtig ist, musst Du nur deine Methode aus der Behandlung von WM_PAINT aufrufen und das war es auch schon, an anderer Stelle ist in Folge davon kein Zeichnen notwendig.

    - Gruß Florian

    Dienstag, 12. Juni 2018 12:21
  • Hallo Florian,

    vielen Dank für Deine Antwort.

    Den Restore des Fensters habe ich in WM_PAINT aufgerufen.

    Ich werde mal meinen Code nochmals ansehen müssen, irgendetwas läuft da noch falsch.

    Vielen Dank nochmals.

    Gruß
    Michael

    Dienstag, 12. Juni 2018 12:45