# 给cad添加自定义菜单

 Private Sub AddBar()
Dim NewMenuItem As AcadPopupMenuItem
Dim TheMacro As String
Dim MI As Integer On Error Resume Next
Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = Application.MenuGroups.Item()
'Create the new menu
Set NewMenu = currMenuGroup.Menus.Add("批量绘图")
If Err.Number Then
Err.Clear
For Each NewMenu In currMenuGroup.Menus
If NewMenu.Name = "批量绘图" Then Exit For
Next
End If 'Add a menu item to the new menu
'Assign the macro string the VB equivalent of "ESC ESC _open "
'TheMacro = Chr(3) & Chr(3) & Chr(95) & "-vbarun ""GeoSection.dvb!DZPM.GeoSection""" & Chr(32)
TheMacro = Chr() & Chr() & Chr() & "-vbarun ""MainSub""" & Chr()
Set NewMenuItem = NewMenu.AddMenuItem(NewMenu.Count + , "批量绘图", TheMacro)
If Err.Number Then Err.Clear
'Display the menu on the menu bar
NewMenu.InsertInMenuBar (ThisDrawing.Application.MenuBar.Count + )
If Err.Number Then Err.Clear
End Sub

写几个事件驱动菜单显示

 Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
If StrComp(Left$(CommandName, ), "VBA", ) <> And UCase$(CommandName) <> "APPLOAD" Then Exit Sub
If NewMenu Is Nothing Then AddBar
End Sub Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
If StrComp(Left$(CommandName, ), "VBA", ) <> And UCase$(CommandName) <> "APPLOAD" Then Exit Sub
If NewMenu Is Nothing Then AddBar
End Sub Public Sub MainSub()
Dim frm As New UserForm1
Call UserForm1.Show
End Sub

最终效果

AutoCAD VBA添加菜单的更多相关文章

  1. Qt自适应大小显示图片,添加菜单

    由于后面的图像处理需要UI,OpenCV自带也不怎么会,MFC实在懒得学的.听同学说Qt不错,就用Qt做UI了. 本文主要介绍三个内容:在Qt Creator中使用OpenCV2.Qt中自适应显示图片 ...

  2. MFC 对话框添加菜单

    1.在Resource View 里右击菜单里选择Add Resource,选择menu,添加一个IDR_MENU1的菜单.在编辑器编辑菜单,添加菜单项,命名各个菜单项的ID. 2.在所要添加菜单的对 ...

  3. 【Android】添加菜单和监听菜单方法详解

    添加菜单 可以在onCreateOptionsMenu或者onPrepareOptionsMenu方法中来添加菜单 代码添加: menu.add((int groupId, int itemId, i ...

  4. WordPress插件制作教程(三): 添加菜单的方法

    上一篇编写了一个简单的插件,让大家对插件的简单制作有个了解,这一篇我们在更深一步,当我们激活插件后后台会显示菜单出来,然后通过单击菜单显示自己定义好的信息.激活之后会在WordPress后台显示一个菜 ...

  5. EcShop后台添加菜单[步骤]

    1. 添加菜单的链接地址:打开文件[/后台目录/includes/inc_menu.php],在结尾加入例如:$modules['dashi']['dashi_list'] = 'join_dashi ...

  6. menuStrip1动态添加菜单及快捷键

    public partial class FormMkTest : Form { public FormMkTest() { InitializeComponent(); } private void ...

  7. 在 jupyter 中添加菜单和自动完成功能

    在 jupyter 中添加菜单和自动完成功能 参考文档http://www.360doc.com/content/17/1103/14/1489589_700569828.shtmlhttp://to ...

  8. Abp添加菜单

    Abp添加菜单 在abp模板中添加菜单,EntityFramework+Angular.js模板,使用的Abp版本为3.8.1. 创建Abp项目模板,例如名称叫做LawAndRegulation. 服 ...

  9. 实现UE添加自定义按钮之添加菜单

    1.ueditor.config.js配置文件中配置 2.在ueditor.all.js配置文件中配置点开的的弹框位置 3.在ueditor1_4_3-utf8-jsp\themes\default\ ...

随机推荐

  1. [codevs4655] 序列终结者(Splay)

    传送门 支持操作: 1.区间加 2.区间翻转 3.区间求最大值 splay模板 注意:update 里更新 max 时需要取 3 个值的 Max 别忘了各种边界讨论 ——代码 #include < ...

  2. Netbeans工具使用记录

     #自动换行设置 工具->选项->编辑器->格式设置

  3. Linux find常用命令

    今天研究一下find的一些常用的命令. find格式:find filepath [-option] [-print|-exec|-ok...] 其中常用的option主要有 -type d|f|s| ...

  4. Ubuntu 16.04安装Intel显卡驱动(解决Intel HD Graphics 630显卡驱动问题)

    一般Ubuntu都默认包含了Intel显卡的驱动,如果没有,那么先确定是不是显卡太高,比如I7第7代的CPU核显在Ubuntu 16.04中是没有的,导致画面会很卡,原因是Linux 4.4内核不包含 ...

  5. JSP的会话(Session)跟踪

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/session-tracking.html: 会话(Session) HTTP是一个“无状态”协议,这意味 ...

  6. html自动换行

    对于div,p等块级元素 正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义的宽度之后自动换行html css 1.(IE浏览器)连续的英文字符和阿拉伯数 ...

  7. js 计算获取鼠标相对某个点的移动旋转角度

    // 旋转角度 function getAngle(cen, first, second) { // cen : 中心点 [0,0] // first : 开始点 [1,3] // second : ...

  8. Django学习系列之ORM-QuerySetAPI

    基本操作 # 增 models.Tb1.objects.create(c1='xx', c2='oo') #增加一条数据,可以接受字典类型数据 **kwargs obj = models.Tb1(c1 ...

  9. html实现类似excel的复杂表格,及导出到excel

    1. excellentexport.js https://github.com/jmaister/excellentexport/tree/2.0.3 2.fiddle example  https ...

  10. Android系统开发(4)——Autotools

    Autotools工具的构成 1.autoscan autoscan是用来扫描源码文件夹生成configure.san文件的,configure.san包括了系统配置的基本选项.里面都是一些宏定义,我 ...