LRESULT CALLBACK w klasie

0

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!

0

[green] Dzięki [browar]

0

ponawiam pytanie, też mam ten sam problem(link nie działa)

1 użytkowników online, w tym zalogowanych: 0, gości: 1