找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 513|回复: 6

[VBA程序]: 请教增加菜单项的问题

[复制链接]
发表于 2005-9-2 08:32:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请教各位:

不知function AddMenuItem(Index, Label As String, Macro As String)函数的index参数有何用途?

例如:

Set menuitemobject = submenuobject1.AddMenuItem(menuobject.Count + 1, "ordinate", "-vbarun thisdrawing.aordinatedimension" & vbCr)

我将menuobject.count+1 改为任意整数,oridante仍能加到子菜单中去,不知有何区别?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-9-2 11:03:10 | 显示全部楼层
index 指定新加入菜单的索引,
例如:menuobject.Count + 1 就是说把新加入的菜单放在menuobject菜单组的最后。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-2 11:07:04 | 显示全部楼层
但是AddMenuItem是增加子菜单的菜单项
不是加在菜单里面作为一个子菜单啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-3 13:54:43 | 显示全部楼层
一样的道理,菜单项在菜单中也是有顺序的,Index就代表了这个顺序,具体的在帮助中有
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-4 13:13:22 | 显示全部楼层
代码如下:
Public Sub createmenu()
Dim menugroupobject As AcadMenuGroup
Dim menuobject As AcadPopupMenu
Dim submenuobject1 As AcadPopupMenu
Dim submenuobject2 As AcadPopupMenu
Dim menuitemobject As AcadPopupMenuItem
Set menugroupobject = ThisDrawing.Application.MenuGroups.Item(0)
On Error Resume Next
Set menuobject = menugroupobject.Menus.Add("newdimensions")
Set submenuobject1 = menuobject.AddSubMenu(0, "linear")
Set submenuobject2 = menuobject.AddSubMenu(1, "angular")
Set menuitemobject = submenuobject1.AddMenuItem(menuobject.Count + 1, "aligned", "-vbarun thisdrawing.aligneddimension" & vbCr)
Set menuitemobject = submenuobject1.AddMenuItem(menuobject.Count + 1, "ordinate", "-vbarun thisdrawing.aordinatedimension" & vbCr)
Set menuitemobject = submenuobject1.AddMenuItem(menuobject.Count + 1, "rotated", "-vbarun thisdrawing.rotatedimension" & vbCr)
Set menuitemobject = submenuobject2.AddMenuItem(menuobject.Count + 1, "Angular", "-vbarun thisdrawing.angulardimension" & vbCr)
Set menuitemobject = submenuobject2.AddMenuItem(menuobject.Count + 1, "diametric", "-vbarun thisdrawing.diametricdimension" & vbCr)
Set menuitemobject = submenuobject2.AddMenuItem(menuobject.Count + 1, "radial", "-vbarun thisdrawing.radialdimension" & vbCr)

menuobject.InsertInMenuBar (ThisDrawing.Application.MenuBar.Count + 1)

End Sub

各位高手可以试一下:
将menuobject.count 改为任意数字,生成的菜单是相同的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 17:23:37 | 显示全部楼层
哦是这样的吗?我认真考虑一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-11 16:02:45 | 显示全部楼层
可以直接用记事本编辑acad.mnu文件,这样更有效
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-24 13:24 , Processed in 0.524380 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表