MFC - Verschwundene Linien

dezerver

Grünschnabel
Hey,

ich als C++ Newbie bin schon stolz darauf ein paar farbige Linien per MoveTo & LineTo auf ein PictureControl erzeugt zu haben, jetzt ist es nur so das die Linien immer verschwinden wenn das Fenster den Focus verliert (in den Hintergrund gedrückt wird). Ich könnte mir vorstellen das hat etwas mit dem Device Context zu tun, aber so richtig blicke ich da noch nicht durch...

Hier ein kurzes Codeschnipsel:

CDC* bockwurst(m_map.GetDC()); // m_map ist die Membervariable der Picturecontrol
bockwurst->MoveTo(0,0);
bockwurst->LineTo(900,0);

Wie bekomme ich es hin (und vorallem warum ist das so) das die Linien immer da sind? Und, in weisser Voraussicht, wie bekomme ich sie dann wieder weg?
Wäre für jeden Rat dankbar :)
 
Löschen funktioniert im Prinzip so, das du einfach nur einen neues Rechteck drüber legst.
Und das andere Problem weis ich nicht genau versuche mal repaint.

mfg
 
An welcher Stelle steht dann dein Codeschnipsel?

Generell gehören Zeichenoperationen immer in den Eventhandler der WM_PAINT Nachricht. Diese Nachricht wird dann ausgelöst, wenn das Fenster neu gezeichnet werden muss, also wenn es z.B. verdeckt war.

Um die Linen zu löschen, zeichnest du sie noch einmal, allerdings mit der Hintergrundfarbe.

Gruß
MCoder
 
Zurück