CClientDC
-
Hallo!
Wenn ich einen dc zum Zeichnen auf meinem Dialog erzeugen will, mache ich das normalerweise so:
CClientDC dc(this);
Wie geht das aber, wenn ich eine Klasse erstellt habe und aus der Klasse heraus was aufs Dialogfeld zeichnen will?
this
geht ja da nicht.
Matthias
-
this ist einfach nur ein Zeiger auf deinen Dialog. Besorg dir den Zeiger auf irgendeine andere Art, und gib ihn statt this an.
-
Ja, aber auf welche?
-
Der CClientDC-Konstruktor verlangt einen Zeiger auf CWnd-Objekt. Wo ist das Problem?
-
Ein Paar möglichkeiten:
1. Den Zeiger global speichern
2. Den Zeiger aus dem Dialog übergeben (in einer Variablen deiner Klasse speichern)
-
Das Problem ist, dass ich ihn nicht global speichern kann! Wenn ich einer CWnd Variable this zuweisen will, sagt mir der Compiler, dass "this" den = Operator nicht überladen hat und somit keine Zuweisung stattfinden kann.