WNDPROC-Parameter als Memberfunktion



  • Ich übergebe in einem Konstruktor einen parameter WNDPROC. Wenn der Konstruktor eine globale Methode bekommt, funktioniert das auch (erster Konstruktor). Wenn ich aber eine Memberfunktion (selber Code) übergebe, geht nichts mehr. Es kommt

    Keine Funktion mit diesem Namen im Gueltigkeitsbereich stimmt mit dem Zieltyp ueberein

    PaintClass::PaintClass() 
    {
    	hInst=GetModuleHandle(NULL);
    	cf=new CFrame(hInst, this->MessageHandler); //geht nicht
    	cf->create();
    }
    
    PaintClass::PaintClass(WNDPROC wndproc){
    	hInst=GetModuleHandle(NULL);;
    	cf=new CFrame(hInst, wndproc); //geht
    	cf->create();
    }
    
    LRESULT CALLBACK PaintClass::MessageHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam){ 
    	return DefWindowProc(hWnd, msg, wParam, lParam);
    }
    

    CFrame ist eine eigene Klasse, mit folgenem Konstruktor:

    CFrame::CFrame(HINSTANCE hInstanceu, WNDPROC wndproc){
    	hInstance=hInstanceu;
    	msgProc=wndproc;
    }
    

    Danke schonmal...



  • Da wird dich bestimmt die WinAPI FAQ glücklich machen:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39356-and-start-is-0.html


Anmelden zum Antworten