zhangyunlong 发表于 2009-7-18 14:58:00

菜单设计问题求助

<p>Sub AddASubMenu()<br/>&nbsp;&nbsp;&nbsp; '获得当前的菜单组***********************************************************************************<br/>&nbsp;&nbsp;&nbsp; Dim currMenuGroup As AcadMenuGroup<br/>&nbsp;&nbsp;&nbsp; Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; ' 创建新菜单<br/>&nbsp;&nbsp;&nbsp; Dim newMenu As AcadPopupMenu<br/>&nbsp;&nbsp;&nbsp; Set newMenu = currMenuGroup.Menus.Add("Menu" &amp; Chr(Asc("&amp;")) &amp; "(S)")<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; '添加菜单项*****************************************************************************************<br/>&nbsp;&nbsp;&nbsp; Dim macro As String<br/>&nbsp;&nbsp;&nbsp; macro = Chr(vbKeyEscape) + Chr(vbKeyEscape)&nbsp;&nbsp;&nbsp;&nbsp; '相当于按下两次Esc键<br/>&nbsp;&nbsp;&nbsp; 'open<br/>&nbsp;&nbsp;&nbsp; Dim menuItemOpen As AcadPopupMenuItem<br/>&nbsp;&nbsp;&nbsp; Set menuItemOpen = newMenu.AddMenuItem(newMenu.Count + 1, Chr(Asc("&amp;")) &amp; "OpenFile", macro &amp; "_open ")<br/>&nbsp;&nbsp;&nbsp; 'Set menuItemOpen = newMenu(UserForm1.Visible = True)<br/>&nbsp;&nbsp;&nbsp; '状态栏的提示<br/>&nbsp;&nbsp;&nbsp; menuItemOpen.HelpString = "打开图形文件/VBA精彩实例"</p><p>end sub</p><p>其中在给macro赋值的时候 这个说的是什么意思 </p><p>为什么在下面建立open菜单项的时候 macro&amp;“open”能事项打开文件的功能</p><p>&nbsp;如果我建立一个close菜单项 macro&amp;“close”也能事项关闭文件的功能 这是为什么呢</p><p>难道说“”中实在调用cad中的内部函数吗</p><p>望望大大们给予讲解</p><p></p>

wj_job 发表于 2009-7-18 23:36:00

菜单宏是相应执行命令的标示,当用户想CAD发送某一个宏命令后CAD自动解释并执行该宏对应的代码实现洪湖功能。你在像CAD发送某个命令之前必须保证该命令实在CAD中注册了的,如“open”,“close”……。如果命令没有被注册那么它是不能被系统接受的,系统将自动将其滤除不执行任何操作(会打印出错信息)。

wzw_km 发表于 2013-3-27 00:33:56

学习了。
页: [1]
查看完整版本: 菜单设计问题求助