Komme mit Pointern durcheinander
-
Hallo!
Ich habe eine Klasse mit einer HDC Variable. Darin soll ein Fensterhandle gespeichert werden.
hdc = GetDC(hwnd); // So gehts wenn man das direkt im Fenstercode macht
Nun will ich das aber so machen:
HWND hwnd; Klasse *ptrKlasse = new Klasse(&hwnd); Klasse::Klasse(HWND *hwnd) { hdc = GetDC(*hwnd); }
Das liefert aber nicht das gewünschte Ergebis, ich zeichne so direkt auf den ganzen Windowsbildschirm und nicht mehr in das Fenster.
Wie mache ich das richtig?
-
HWND ist ein pointertyp, du brauchst ihn also nur per value zu übergeben.
HWND hwnd; Klasse *ptrKlasse = new Klasse(hwnd); Klasse::Klasse(HWND hwnd) { hdc = GetDC(hwnd); }
ansonsten seh ich keinen fehler,ausser natürlich dass hwnd auf 0 zeigt, der fehler müsste woanders liegen
-
Alles klar geht einwandfrei