在使用visual Studio2017社区创建了一个win32项目之后,我已经在已经存在的菜单中添加了弹出菜单。当我在‘文件’下面添加了一个弹出项目'Mypop‘后,我打开了新选项的属性,并将ID;'ID_FILE_MYPOP’复制到我的WndProc WM_COMMAND循环中。
LRESULT回调消息(hWnd hWnd,UINT WndProc,WPARAM wParam,LPARAM lParam)
..。case ID_FILE_MYPOP: break;
它显示错误消息"identifier ID_FILE_MYPOP is undefined“。
我只能通过打开resource.h文件来纠正这个错误,它会响应“这个文件已经在另一个设备上打开了,你想关闭它吗?”如果我回答是,那么我可以看到resource.h文件的内容,其中包含ID_FILE_MYPOP。然后,如果我关闭resource.h文件,WndProc中的错误消息就会消失,并且菜单添加可以正常工作。
我的问题是:
每次向resource.rc文件添加菜单项时,是否必须打开和关闭resource.h头文件?
哪个应用程序可能打开了resource.h文件?
如果有人能帮助我,我将不胜感激。
ps如果我打开并关闭项目解决方案,我还可以删除错误语句。
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM
lParam)
{
switch (message)
{
case WM_COMMAND:
{
int wmId = LOWORD(wParam);
// Parse the menu selections:
switch (wmId)
{
case ID_FILE_MYPOP:
break;
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case ID_NEWEDITIDAPPROACH:
break;
case IDM_NEW7:
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
}
break;...}
发布于 2019-09-21 00:06:03
在解决方案资源管理器中双击资源文件-资源编辑器应该打开(这是打开资源的应用程序。h):

https://stackoverflow.com/questions/58031727
复制相似问题