VS2013 wndProg回调方法

时间:2013-11-09 17:59:34

标签: c++ methods visual-studio-2013 wndproc

我想要一个用WinAPI创建窗口的类。 wndproc函数应该是所述类的方法。所以我找到了这样做的方法(见下面的代码),但不幸的是它不会用VS2013编译 此代码使用VS2010编译,没有错误或警告。

在我的.h文件中:

typedef long(__stdcall* WNDPROC)(void*,unsigned int,unsigned int,long);

class LWindow
{
private:
    //...

    static LRESULT CALLBACK wndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam);


public:
    LWindow(int width, int height, bool framed);
    ~LWindow();

    //...
};


在我的.cpp文件中:

LWindow::LWindow(int width, int height, bool framed)
{
    //...
    WNDCLASS wc = {0};
    wc.lpfnWndProc = wndProc;
    //...
}


错误消息是

1>l:\opt\microsoft visual studio 12.0\vc\include\xrefwrap(283): error C2064: term does not evaluate to a function taking 0 arguments

1 个答案:

答案 0 :(得分:0)

好。现在用这段代码玩了将近一个小时并且用static LRESULT CALLBACK wndProc...行填充,因为它没有给我一个明确的行号,我发现我包含了一些导致问题的严重旧文件。
谢谢@edtheprogrammerguy,这是我需要的提示!