gpt4 book ai didi

c++ - HANDLE_MSG 宏给出 'HANDLE_0xXXXX is undefined'

转载 作者:行者123 更新时间:2023-11-28 07:29:05 24 4
gpt4 key购买 nike

当我尝试在窗口过程中使用 HANDLE_MSG 宏时,出现以下错误:

Error: identifier "HANDLE_0xXXXX" is undefined

其中 0xXXXX 取决于我作为参数提供给宏的消息(0x0010 用于 WM_CLOSE,0x0002 用于 WM_DESTROY 等等)。

在谷歌搜索寻求帮助时,我什至没有发现任何关于类似问题的提及。

我在 Windows 8 上使用适用于 Windows 桌面的 Visual Studio 2013 Preview(尽管同样发生在适用于 WD 的 VS 2012 Express 中)。

一段代码:

#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);

}

最佳答案

我遇到了同样的问题,只是像这三个示例所示那样扩展了宏。

     //HANDLE_MSG(hwnd, WM_INITDIALOG, OnInitDialog);
case (WM_INITDIALOG) : return HANDLE_WM_INITDIALOG((hwnd), (wParam), (lParam), (OnInitDialog));
//HANDLE_MSG(hwnd, WM_COMMAND, OnCommand);
case (WM_COMMAND) : return HANDLE_WM_COMMAND((hwnd), (wParam), (lParam), (OnCommand));
//HANDLE_MSG(hwnd, WM_PAINT, OnPaint);
case (WM_PAINT) : return HANDLE_WM_PAINT((hwnd), (wParam), (lParam), (OnPaint));

关于c++ - HANDLE_MSG 宏给出 'HANDLE_0xXXXX is undefined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18081614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com