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()
但是这俩个函数在同样的位置单独使用就可以! 是为什么? 是原因是什么? 展开
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()
但是这俩个函数在同样的位置单独使用就可以! 是为什么? 是原因是什么? 展开
1个回答
展开全部
调用过CreateMenu吗?
如果没有的话hMenu就是个无效的句柄, 插入操作自然不会有效果
hMenu = 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的小程序可以查看
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询