我正在尝试创建一个自定义 GLWindow 类,其中包括我对 OpenGL 窗口的所有设置。但是,我还想在我的 GLWindow 类中包含发送到窗口的消息的 WndProc 回调函数。
GLWindow.h:
class GLWindow
{
private:
HWND hWnd;
HDC hDC;
HGLRC hRC;
public:
GLWindow();
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
bool Create();
~GLWindow();
}
GLWindow.cpp:
GLWindow::GLWindow()
{
}
bool GLWindow::Create(int width, int height, char * title, bool fullscreen)
{
WNDCLASSEX window;
HINSTANCE hInstance;
hInstance = GetModuleHandle(NULL);
window.cbSize = sizeof(WNDCLASSEX);
window.cbClsExtra = 0;
window.cbWndExtra = 0;
window.hbrBackground = NULL;
window.hIcon = LoadIcon(NULL, IDI_APPLICATION);
window.hIconSm = LoadIcon(NULL, IDI_WINLOGO);
window.hCursor = LoadCursor(NULL, IDC_ARROW);
window.hInstance = hInstance;
window.lpfnWndProc = GLWindow::WndProc; // ERROR
}
GLWindow::~GLWindow()
{
}
Run Code Online (Sandbox Code Playgroud)
错误是无法将“LRESULT (__stdcall GLWindow::*)(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)”类型的值分配给“WNDPROC”类型的实体。
我想不通
当 WndProc 与 WinMain 函数共享相同的 .cpp 文件时,我已经让它工作了,但似乎作用域将它扔掉了。
| 归档时间: |
|
| 查看次数: |
2602 次 |
| 最近记录: |