murphyr 发表于 2004-3-31 21:45:00

如何得到vba制作的自定义菜单的菜单句柄?

我想在自定义下拉菜单实现像win98的垂直渐变条,


Sub Menu()'转载的<BR>                       '定义变量<BR>                       Dim NewMenuGroup As AcadMenuGroup                                                                                                                               '群组<BR>                       Dim NewMenu As AcadPopupMenu                                                                                                                                                                       '列<BR>                       Dim NewMenuItemName As AcadPopupMenuItem                                                                       '菜单项<BR>                       Dim Menuseparator As AcadPopupMenuItem                                                                                       '分隔条<BR>                       Dim NewMenuItemName1 As AcadPopupMenu                                                                                               '菜单项<BR>                       Dim subMenuItem<BR>                       '子菜单<BR>                       '定义下拉菜单群组<BR>                       Set NewMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)<BR>                       '创建下拉菜单列<BR>                       Set NewMenu = NewMenuGroup.Menus.Add("螺母")<BR>                       '创建下拉菜单项<BR>                       Set NewMenuItemName1 = NewMenu.AddSubMenu(NewMenu.Count + 1, "螺母1")<BR>                                                       Set subMenuItem = NewMenu.Item(0).SubMenu.AddMenuItem(1, "螺母1", "-vbarun uf1 ")<BR>                                                       Set subMenuItem = NewMenu.Item(0).SubMenu.AddMenuItem(2, "螺母1", "-vbarun uf2 ")<BR>                                                       Set subMenuItem = NewMenu.Item(0).SubMenu.AddMenuItem(3, "螺母1", "-vbarun uf3 ")<BR>                                                       Set subMenuItem = NewMenu.Item(0).SubMenu.AddMenuItem(4, "螺母1", "-vbarun uf4 ")<BR>                       Set NewMenuItemName1 = NewMenu.AddSubMenu(NewMenu.Count + 2, "螺                       母")<BR>                                                       Set subMenuItem = NewMenu.Item(1).SubMenu.AddMenuItem(1, "六角螺母", "-vbarun uf5 ")<BR>                                                       Set subMenuItem = NewMenu.Item(1).SubMenu.AddMenuItem(2, "开槽螺母", "-vbarun uf6 ")<BR>                                                       Set subMenuItem = NewMenu.Item(1).SubMenu.AddMenuItem(3, "圆       螺       母", "-vbarun uf7 ")<BR>                                                       Set subMenuItem = NewMenu.Item(1).SubMenu.AddMenuItem(4, "蝶形螺母", "-vbarun uf8 ")<BR>                       Set NewMenuItemName1 = NewMenu.AddSubMenu(NewMenu.Count + 3, "销类零件")<BR>                                                       Set subMenuItem = NewMenu.Item(2).SubMenu.AddMenuItem(1, "圆 柱 销", "-vbarun uf9 ")<BR>                                                       Set subMenuItem = NewMenu.Item(2).SubMenu.AddMenuItem(2, "圆 锥 销", "-vbarun uf10 ")<BR>                                                       Set subMenuItem = NewMenu.Item(2).SubMenu.AddMenuItem(3, "开 口 销", "-vbarun uf11 ")<BR>                                                       Set subMenuItem = NewMenu.Item(2).SubMenu.AddMenuItem(4, "A型销轴", "-vbarun uf12 ")<BR>                       Set NewMenuItemName = NewMenu.AddSeparator(NewMenu.Count + 4)<BR>                       Set NewMenuItemName = NewMenu.AddMenuItem(NewMenu.Count + 6, "退                       出", "-vbarun uf60 ")<BR>                       '显示新菜单<BR>                       NewMenu.InsertInMenuBar (ThisDrawing.Application.MenuBar.Count + 1)<BR>       <BR>               <BR>End Sub


上述是网上仁兄的借用的


我使用SetBitmap加入图片,我想得到句柄,不知如何得到

murphyr 发表于 2004-4-3 19:40:00

我想得到菜单对象的handle,不知如何才能得到?

murphyr 发表于 2004-4-3 19:46:00

我有vb下自定义下拉菜单实现像win98的垂直渐变条的例子,不知哪位仁兄仁妹能把vb下转为vba将他们合二为一,我将感激不尽,想要源码我给

gzy 发表于 2004-4-3 22:51:00

发给我看看吧,我最近的毕业设计好象跟你有点相似。gzy@mjtd.com

efan2000 发表于 2004-4-4 15:11:00

首先得到Application对象的句柄,然后使用GetMenu返回菜单,GetSubMenu返回它的子菜单,以后的操作全部使用相关的API来操作了。

murphyr 发表于 2004-4-4 22:00:00

我已发了,得到答案希望能够回复我,我感激不尽

murphyr 发表于 2004-4-4 22:14:00

to :<A name=9678><FONT color=#990000><B>gzy</B></FONT></A>


引用你的代码,不反对吧?

gzy 发表于 2004-4-5 01:14:00

murphyr发表于2004-4-4 22:14:00static/image/common/back.gifto :gzy



引用你的代码,不反对吧?


<BR>没有关系!反正又不是重要的代码,一个菜单而已,很多书上都有的。


       另外:EMAIL我已经收到,明天再答复你,今天太晚了,都1点多了,呵呵!

murphyr 发表于 2004-4-8 13:22:00

<A name=9678><FONT color=#990000><B>gzy</B></FONT></A>谢谢你,能够得到你的帮助,

murphyr 发表于 2004-4-9 22:52:00

不知<A name=9678><FONT color=#990000><B>gzy</B></FONT></A>斑竹解决了否,我又找到了一个关于写垂直条的代码,原理和原有的不一样,好像似api函数直接画的渐变条,我功力浅,有些看不懂,斑竹是否要?
页: [1]
查看完整版本: 如何得到vba制作的自定义菜单的菜单句柄?