明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3448|回复: 5

怎么在cad里创建一个菜单项,单击弹出窗体

[复制链接]
发表于 2010-5-18 17:21:00 | 显示全部楼层 |阅读模式

怎么在cad里创建一个菜单项,单击弹出已经设计好的窗体啊,请高手指教,最好有个代码示例

发表于 2010-5-18 23:35:00 | 显示全部楼层

下面的代码是“开口汇料0430.dvb”文件里面的添加菜单项,运行“huiliao”这个函数

Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
  Dim i As Integer
  Dim ts As String, sta As String, sta1 As String, VBAProjectPath As String
 
 
  On Error GoTo errhand

' MsgBox CommandName
If CommandName = "VBALOAD" Or CommandName = "VBAMAN" Or CommandName = "APPLOAD" Or CommandName = "COMMANDLINE" Then   '启动时菜单的生成
     ' 该示例创建一个名为开口汇料新菜单,并在其中插入一个菜单项。
    ' 然后将菜单显示在菜单栏中。
    ' 在执行完该宏后如果需要将该菜单删除,可从【工具】菜单的【自定义菜单】项中删除。
    Dim currMenuGroup As AcadMenuGroup
    Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
   
    ' 创建新菜单
   
    Dim newMenu As AcadPopupMenu
    Set newMenu = currMenuGroup.Menus.Add("开口汇料")
   
    sta = ""
    VBAProjectPath = ""
   
    For i = 1 To Application.VBE.VBProjects.Count
        ts = Application.VBE.VBProjects(i).FileName
        sta = InStrRev(ts, "\", , vbTextCompare)
        sta1 = Right(ts, Len(ts) - sta)
        If sta1 = "开口汇料0430.dvb" Then
            'VBAProjectPath = ts 'Left(ts, sta)
            Exit For
        End If
    Next
   
   
    For i = 1 To Len(ts)
      If Mid(ts, i, 1) = "\" Then
       VBAProjectPath = VBAProjectPath & "/"
      
      Else
   
      VBAProjectPath = VBAProjectPath & Mid(ts, i, 1)
     
      End If
   
    Next
   
   
   
   
   
    ' 添加一个菜单项到新的菜单中
    Dim newMenuItem As AcadPopupMenuItem
    Dim openMacro As String
    ' 指定宏字符串,该字符串相当于VB中的 "ESC ESC _open "
    openMacro = "-vbarun " & VBAProjectPath & "!ThisDrawing.huiliao "
   
    Set newMenuItem = newMenu.AddMenuItem(newMenu.Count + 1, "开始汇料", openMacro)
   
    ' 显示菜单到菜单栏中
    newMenu.InsertInMenuBar (ThisDrawing.Application.MenuBar.Count + 1)


End If

errhand:
If Err.Number = 0 Or Err.Number = -2147024809 Then

  Else
 
    MsgBox Err.Description & Err.Number
   
    Err.Clear
   
End If

End Sub

发表于 2010-5-21 22:28:00 | 显示全部楼层
学习
发表于 2011-1-21 09:02:37 | 显示全部楼层
学习~         
发表于 2011-3-27 18:05:22 | 显示全部楼层
怎么运行呀
发表于 2012-12-21 23:16:33 | 显示全部楼层
用手工添加,请参见我写的:将VLX文件或者Lisp文件添加为CAD菜单的方法详解

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:03 , Processed in 0.180093 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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