WndProc einer Klasse überladen
-
Ich möchte eine Klasse erstellen, die automatisch Fenster erstellt und seine eigene WndProc Funktion verwendet. Wenn ich dann im Konstruktor der Klasse die WindowClass registrieren möchte nimmt mir der Compiler den Parameter lpfnWndProc nicht an:
'type cast' : cannot convert from 'LRESULT (__thiscall Tribal3D::* )(HWND,UINT,WPARAM,LPARAM)' to 'WNDPROC'
Nun meine Problem: Wie kann ich dem Compiler beibringen, dass die Funktion:
LRESULT CALLBACK Tribal3D::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
als WindowClass WndProc anerkannt wird:
Aktuelle schaut der Code so aus:
LRESULT (Tribal3D::*pWP) (HWND, UINT, WPARAM, LPARAM);
pWP = Tribal3D::WndProc;...
wc.lpfnWndProc = (WNDPROC) pWP; <- ????? Fehler ????
mfg mk
-
FAQ - Stichwort: static
-
Danke funktioniert
-
Gibt es auch eine alternative als die Funktion als static zu deklarieren. Denn ich möchte auf die Variablen der Klasse zugreifen.
-
Schau dir den Thread an: FAQ Eintrag