当我尝试在我的窗口过程中使用 HANDLE_MSG 宏时,我收到以下错误:
错误:标识符“HANDLE_0xXXXX”未定义
其中 0xXXXX 取决于我作为参数提供给宏的消息(0x0010 用于 WM_CLOSE,0x0002 用于 WM_DESTROY 等等)。
在谷歌搜索帮助时,我什至没有发现任何关于类似问题的提及。
我在 Windows 8 上使用 Visual Studio 2013 Preview for Windows Desktop(尽管在 VS 2012 Express for WD 中也会发生同样的情况)。
一段代码:
#include "Precompiled Headers.hpp" // includes i. a. Windows.h and windowsx.h
#include "MainWindowProcedure.hpp"
LRESULT __stdcall MainWindowProcedure(HWND mainWindow,
UINT receivedMessage,
WPARAM wordParameter,
LPARAM longParameter)
{
switch (receivedMessage)
{
HANDLE_MSG(mainWindow, WM_CLOSE, MainWindowOnClose);
...
default:
return DefWindowProc(mainWindow,
receivedMessage,
wParam,
lParam);
break;
}
return 0;
}
void MainWindowOnClose(HWND mainWindow)
{
DestroyWindow(mainWindow);
}