| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3088 人关注过本帖
标题:VC里怎么添加菜单啊,急 啊
只看楼主 加入收藏
小跳蚤
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:437
专家分:1623
注 册:2011-4-9
结帖率:89.66%
收藏
已结贴  问题点数:20 回复次数:26 
VC里怎么添加菜单啊,急 啊
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by rc.rc
//
#define IDI_ICON1                       101
#define IDR_MENU1                       102
#define ID_MENUITEM40001                40001
#define ID_MENUITEM40002                40002

// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        104
#define _APS_NEXT_COMMAND_VALUE         40003
#define _APS_NEXT_CONTROL_VALUE         1000
#define _APS_NEXT_SYMED_VALUE           101
#endif
#endif

上面是resource.h里面的
HMEN hMenu=LoadMenu(hInstance,MAKEINTRESOURCE(IDR_MENU1));
CreateWindow里添加了,resource.h也添加了,怎么还说我没定义啊,到底怎么回事啊

搜索更多相关主题的帖子: 菜单 Microsoft generated default include 
2012-05-25 09:46
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:20 
三种方法:
一种是把菜单名取成和程序名相同的字符串(修改rc资源文件)。然后在
wnd.lpszClassName = "TheApp";
wnd.lpszMenuName = "TheApp";
既可显示。

二种方法:
HMENU hMenu;
hMenu = LoadMenu(hinstance, MAKEINTRESOURCE(IDR_MENU1));
在创建windows的第九个参数,指定该hMenu;
hwnd = CreateWindow("TheApp", "test",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 100, 300,
        NULL, hMenu, hinst, NULL);

三种方法:
在WM_CREATE消息处,
HMENU hMenu;
hMenu = LoadMenu(hinstance, MAKEINTRESOURCE(IDR_MENU1));
SetMenu(hwnd, hMenu);

我们都在路上。。。。。
2012-05-25 11:33
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
编译的时候,不要忘了把资源文件和资源头文件添加进工程中。

我们都在路上。。。。。
2012-05-25 11:33
小跳蚤
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:437
专家分:1623
注 册:2011-4-9
收藏
得分:0 
回复 3楼 hellovfp
都试过了不知道为什么还是不行
2012-05-25 12:13
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
把工程打包上来看看。

我们都在路上。。。。。
2012-05-25 12:35
小跳蚤
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:437
专家分:1623
注 册:2011-4-9
收藏
得分:0 
现在已经可以运行了,但不知道为什么不显示菜单
2012-05-25 12:39
小跳蚤
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:437
专家分:1623
注 册:2011-4-9
收藏
得分:0 
回复 5楼 hellovfp
怎么上传啊,第一次唉
2012-05-25 12:40
小跳蚤
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:437
专家分:1623
注 册:2011-4-9
收藏
得分:0 
回复 5楼 hellovfp
Player.rar (1.15 MB)
2012-05-25 12:44
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
偶也不知道为什么你会遇到这个问题,使用资源菜单很简单的。
不过偶在程序中都使用动态创建菜单。
上传你可以点回复,然后点‘添加附件’,(上面最后一个图标)。

我们都在路上。。。。。
2012-05-25 12:44
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
汗~~~,你要指定你的菜单是POPUP类型的。。。才能显示出来。
一般如果API调用失败,你可以通过GetLastError函数来得到一个错误码,然后你找到common\tools\ERRLOOK.exe,运行,把错误码贴进去,点第二个按钮,就可以看到解释了。
HMENU hMenu=LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU1));
int code = GetLastError();
你的错误就是1812: 指定的映像文件不包含资源区域。

我们都在路上。。。。。
2012-05-25 13:00
快速回复:VC里怎么添加菜单啊,急 啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019638 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved