vc++中菜单的创建就两个函数的用法不会

菜单:文件编辑关于HMENUhMenu;就在WM_CREATEInsertMenu(hMenu,2,MF_BYPOSITION|MF_POPUP,IDM_STA,"Sta... 菜单 : 文件 编辑 关于

HMENU hMenu;
就在WM_CREATE
InsertMenu(hMenu,2,MF_BYPOSITION | MF_POPUP ,IDM_STA ,"Sta");
那插入一个下拉菜单 有没有错?
AppendMenu(GetSubMenu(hMenu,2),MF_ENABLED,IDM_ADD,"aaa");
然后在刚刚插入的下拉菜单中 添加一个菜单项。为什么不行 哪里错啦
。。。。。
DrawMenuBar..............
break;
我很笨 希望指点一下 谢谢。。
hMenu是从 WinMain传过来的! 我并没有调用createmenu()

但是这俩个函数在同样的位置单独使用就可以! 是为什么? 是原因是什么?
展开
 我来答
Bk0X
2012-05-30 · TA获得超过9413个赞
知道小有建树答主
回答量:1217
采纳率:60%
帮助的人:668万
展开全部
调用过CreateMenu吗?
如果没有的话hMenu就是个无效的句柄, 插入操作自然不会有效果
hMenu = CreateMenu(); // 创建空的菜单
追问
hMenu是从 WinMain传过来的!   我并没有调用createmenu()

但是这俩个函数在同样的位置单独使用就可以! 是为什么?
追答
尝试获取错误代码来自己寻找错误.
int ec = 0;
if( ! InsertMenu(hMenu,2,MF_BYPOSITION | MF_POPUP ,IDM_STA ,"Sta"))
ec = GetLastError(); // 如果上一个API出现错误, 就获取错误代码

然后根据ec的值就可以很好地判断错误的原因了, 比如
ec == 0 没有出现错误
ec == 1 函数不正确
ec == 6 句柄无效

具体的错误编号, vc编译器自带一个ErrorLook的小程序可以查看
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式