Witam,
w klasie mam:
LRESULT CALLBACK DLG_Proc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
WNDPROC oldDLG_Proc;
bool Rejestruj(HINSTANCE hInstance);
za klasą:
LRESULT CALLBACK (ZR_CONTROLS::DLG_Proc)(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam){
switch(uMsg){
//......
}
return CallWindowProc(oldDLG_Proc, hwnd, uMsg, wParam, lParam);
}
bool ZR_CONTROLS::Rejestruj(HINSTANCE hInstance){
WNDCLASS wd;
if(GetClassInfo(hInstance, "JAKAS", &wd)){
wd.lpszMenuName = NULL;
wd.lpszClassName = "INNA";
wd.hInstance = hInstance;
oldDLG_Proc = wd.lpfnWndProc;
wd.lpfnWndProc = DLG_Proc;
if(!RegisterClass(&wd)){
return false;
}
return true;
}
I wywala mi błąd:
"hook.cpp": E2235 Member function must be called or its address taken in function ZR_CONTROLS::Rejestruj_Moje_Przyciski(HINSTANCE__ *) at line 89
Jak mu dam:
wd.lpfnWndProc = &DLG_Proc;
To wywala:
"hook.cpp": E2034 Cannot convert 'long (stdcall * (closure )(HWND *,unsigned int,unsigned int,long))(HWND_ *,unsigned int,unsigned int,long)' to 'long (stdcall *)(HWND *,unsigned int,unsigned int,long)' in function ZR_CONTROLS::Rejestruj_Moje_Przyciski(HINSTANCE__ *) at line 89
Jeśli cąły ten kod nie jest zapięty w klasę to działa normalnie. Czemu on się w klasie czepia? Co jest nie tak z LRESULT CALLBACK, że nie może być w klasie?
Dzięki z góry za odpowiedzi!