找不到idr_menu1_Windows LoadMenu错误:“在映像文件中找不到指定的资源名称。”...

我正在编写一个程序,除其他外,需要右键单击显示上下文菜单。我正在陷入WM_NOTIFY,被点击的控件的标识符,以及NM_RCLICK。这一切都很好。

问题出现在我正在处理该右键单击时:

case NM_RCLICK:

{

HMENU Popup = LoadMenu(0, MAKEINTRESOURCE(IDR_NED_MENU));

if ( !Popup ) {

DWORD err = GetLastError();

char* buf;

FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_ALLOCATE_BUFFER, 0, err, 0, buf, 1<<19, 0);

_ERROR("LoadMenu(0, MAKEINTRESOURCE(IDR_NED_MENU)); Error '%s' thrown; no menu loaded.", buf);

delete [] buf;

}

Popup = GetSubMenu(Popup, 0);

CheckMenuItem(Popup, 1, MF_CHECKED|MF_BYPOSITION);

POINT Point;

GetCursorPos(&Point);

switch (TrackPopupMenu(Popup, TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RETURNCMD, Point.x, Point.y, 0, GetActiveWindow(), NULL)) {

// ...首先,LoadMenu(0, MAKEINTRESOURCE(IDR_NED_MENU));正在返回NULL,并且收到一条错误消息,指出“在图像文件中找不到指定的资源名称”。

现在,IDR_NED_MENU是我在.rc文件中的菜单的ID,并且我在此.cpp文件中包含了相应的.rc.h文件。包含在同一个.rc文件中的实际对话窗口ID完美地工作。这段代码从LoadMenu调用完美的另一个项目中进一步复制和粘贴:尽管我从头开始重新创建了IDR_NED_MENU,并且这些ID有所不同(但它们在.rc文件和带有代码的.cpp文件之间匹配我粘贴在这里的片段);最初我不小心在一个单独的.rc文件中创建了菜单,所以我试图在这里纠正这一点。我注意到,在Visual Studio的资源视图中,对话框包含在Dialog文件夹中,而它包含在Menu文件夹中(明智的),但我不确定是否会产生什么差异。

为什么我会得到这个错误?为什么找不到IDR_NED_MENU?

我正在使用Visual Studio 2010,这不是一个MFC项目。我不确定我应该包括什么(如果有的话)其他相关细节;让我知道在评论中,我会编辑更新。

谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值