VS2013 wndProg 回调方法
VS2013 wndProg Callback method
我想要一个使用 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,这是我需要的提示!
相关文章:
- 处理影响跨不同线程共享对象的定时回调的最佳方法是什么?
- C++ - 如何在不静态的情况下将回调绑定到类方法?
- 使用回调函数从构造函数调用虚拟/派生方法的替代方法?
- 重写另一个方法 [C++] 使用的超类回调函数
- 将类方法设置为 OpenSSL 回调
- 具有指向方法回调的指针的通用回调模板类
- 如何将提升回调作为参数传递给方法?
- 带有类方法的 Cython 回调
- 为什么可以在没有实例变量的情况下访问静态回调方法中的静态成员变量?
- 回调方法显示错误,类型为"void(*)"的值不能用于初始化类型的实体
- 全局挂钩 DLL 仅在 C# 主窗口处于活动状态/前台时调用 C# 回调方法
- 实现此"on error, throw"回调的最佳方法是什么?
- 从触摸回调访问向量元素的方法时,不良访问错误
- 注册和调用 DLL 回调的正确方法是什么
- 一个类的方法作为回调
- 破坏vulkan以测试调试回调是否正确设置的好方法是什么
- 从异步启动的方法回调的最优雅方式
- 未知类方法回调,它接受 0 个参数并返回可转换为 int 的类型
- 使用 Rice 在 C++ 中构建 Ruby 扩展:如何将 Ruby 方法(回调)的指针传输到C++函数
- 从C函数回调vs从c++方法回调