VS2013 wndProg 回调方法

VS2013 wndProg Callback method

本文关键字:方法 回调 wndProg VS2013      更新时间:2023-10-16

我想要一个使用 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:optmicrosoft visual studio 12.0vcincludexrefwrap(283): error C2064: term does not evaluate to a function taking 0 arguments

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