Zeichnung verschwindet einfach
-
also den ganzen zeichnungskram in die OnPaint und von dem button aus dann die OnPaint aufrufen?
-
MSS-Software schrieb:
von dem button aus dann die OnPaint aufrufen?
Nein. Niemals OnPaint aufrufen. Vom Button aus ein Flag setzen, das du in OnPaint prüfst.
-
aso
sowas wie
BOOL Zeichnen;
--> Button klick --> Zeichnen = TRUE;
//On Paint
if ( Zeichnen == TRUE )
{
...
}Zeichnen = FALSE;
-
MSS-Software schrieb:
Zeichnen = FALSE;
Nein, das Flag muss schon gesetzt bleiben, sonst hast du ja wieder denselben Effekt.
-
lern doch erstmal die grundlagen über ein buch!
-
demnach zu folge müsste er doch dann die ganze zeit die on paint ausführen, oder?
-
MSS-Software schrieb:
demnach zu folge müsste er doch dann die ganze zeit die on paint ausführen, oder?
Nein. Wie kommst du darauf, dass du damit irgendwie beeinflusst, wie oft OnPaint aufgerufen wird?
-
achso
jetzt versteh ich das
wenn ich den button klicke, müssen da noch ganz normal die grafikfunktionen drinstehen und die on paint wird erst aufgerufen, wenn ich das Fenster verschiebe oder es neu aufgebaut werden muss
ich sag einfach mal: wenn es einen neuen focus erhält
jaja, jetzt versteh ich.
danke euch
-
MSS-Software schrieb:
wenn ich den button klicke, müssen da noch ganz normal die grafikfunktionen drinstehen
Nein, müssen sie nicht und sollten sie auch nicht. Du solltest in deiner Buttonfunktion ein Neuzeichnen auslösen, z.B. mit Invalidate. Dann wird OnPaint aufgerufen und alles ist gut.
-
achso. sorry
also mit Invalidate
ich schau mal, ob ich dazu was finde. hab damit noch nicht gearbeitet. ist das erste mal mit GDI
-
ha
this.Invalidate();
war ganz easy
ich danke euch
-
wenn schon this->Invalidate();
-
Einfach nur Invalidate();
-
(*this).Invalidate();
-
this[0].Invalidate();
-
Pellaeon schrieb:
this[0].Invalidate();
-
0[this].Invalidate();
-
nice
-
drauf-einsteiger schrieb:
Pellaeon schrieb:
this[0].Invalidate();
Interpretiere den Zeiger als ein Zeiger auf ein Feld, in diesem Fall der Länge 1. Durch die []-Klammern wird automatisch dereferenziert.
Is zwar quatsch das hier zu schreiben, aber es funktioniert^^