Klassenfrage
-
Hallo Leute!
Ich möchte in einer Klasse das GDI+ verwenden.
Dazu habe ich mir überlegt, dass ich die Graphic klasse in der Klasse speichere um sie dann nicht mehr bei jedem Paint-Vorgang neu zu initialisieren.
Dummerweise hat die Graphic klasse im Konstruktor variablen.
Wenn ich also in meiner Klasse schreib:
class myclass { ... private: Graphic gPaint; }dann möchte ich aber noch das hDC übergeben! wie mache ich das?
danke.
-
Im Konstruktor:
class myclass { myclass(HDC hDC) : gPaint(hDC) { ... } ... };
-
und dann drunter noch mal Graphics gPaint, oder wie?
ich brauche ja eine Unterklasse, die ich von myclass aus steuern kann.
-
steht doch alles da!
der konstruktor will dann ein argument und initialisiert deine variable.hätte ich ihn das lieber selber rausfinden lassen sollen?!?!?
-

Stichwort: Initialisierungsliste
-
woher soll ich wissen, wo nach ich suchen soll?
ich habe so etwas noch nie gebraucht.
jedenfalls danke.
-
jaaa.
aber wenn ich es so im Konstruktor mache, dann gibt er ja zuerst der gPaint-Konstruktor den hDC über. aber vorher muss die GDI+ noch initialisiert werden. wie geht das?
danke.
-
Ich glaub das geht leider gar nicht, du hast leider die Grenzen des Möglichen überschritten 
-
also alles beim Zeichnen initialisieren

-
Ahhh!!! Mein Gott ... GDI+ wird in der WinMain initialisiert ... und selbst wenn du es anders haben willst, ist das durchaus möglich ... (schonmal dran gedacht, das du auch das initialisieren in eine Klasse[singleton] packen kannst?)