我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網(wǎng)站首頁 > CAD新聞

AutoVBA創(chuàng)建自定義下拉菜單

時間:2012-01-29 08:28:33 來源:未知

使用VBA向AutoCAD中添加新的菜單,涉及以下操作,創(chuàng)建新的菜單,使用Add方法向PopMenus集合添加新的PopMenu對象,向菜單中添加新的菜單項;使用AddMenuItem方法;向菜單中添加分隔符,使用AddSeperator方法;通過VBA為菜單項指定加速鍵,使用給定菜單項的Label屬性;添加級聯(lián)子菜單,使用AddSubmenu方法創(chuàng)建子菜單;要刪除菜單中的菜單項使用該菜單項的Delete方法。

Sub addasubmenu()
    Dim currmenugroup As AcadMenuGroup
    Set currmenugroup = ThisDrawing.Application.MenuGroups.Item(0)
    Dim newmenu As AcadPopupMenu
    Set newmenu = currmenugroup.Menus.Add("mmymen" & Chr(Asc("&")) & "u")
    Dim macro As String
    macro = Chr(vbKeyEscape) + Chr(vbKeyEscape)
    Dim menuitemopen As AcadPopupMenuItem
    Set menuitemopen = newmenu.AddMenuItem(newmenu.Count + 1, Chr(Asc("&")) & "openfile", macro & "_open")
    menuitemopen.HelpString = "打開圖形文件"
    Dim menuitemclose As AcadPopupMenuItem
    Set menuitemclose = newmenu.AddMenuItem(newmenu.Count + 1, Chr(Asc("&")) & "CloseFile", macro & "_close")
    menuitemclose.HelpString = "關(guān)閉圖形文件"
    Dim menuitemsepatator As AcadPopupMenuItem
    Set menuitemseparator = newmenu.AddSeparator("")
    Dim menuitemdraw As AcadPopupMenu
    Set menuitemdraw = newmenu.addsubmenu(newmenu.Count + 1, Chr(Asc("&")) & "Draw")
    Dim submenuitemline As AcadPopupMenuItem
    Set submenuitemline = menuitemdraw.AddMenuItem(menuitemdraw.Count + 1, Chr(Asc("&")) & "line", macro & "_line")
    Dim submenuitemarc As AcadPopupMenuItem
    Set submenuitemarc = menuitemdraw.AddMenuItem(menuitemdraw, Count + 1, Chr(Asc("&")) & "Arc", macro & "_arc")
    Dim submenuitemcircle As AcadPopupMenuItem
    Set submenuitemcircle = menuitemdraw.AddMenuItem(menuitemdraw.Count + 1, Chr(Asc("&")) & "Circle", macro & "-vbarun" + Chr(32) + "thisdrawing.drawcircle" + Chr(32))
    Dim menuitemdim As AcadPopupMenu
    Set menuitemdim = newmenu.addsubmenu(newmenu.Count + 1, "dimensio" & Chr(Asc("&")) & "n")
    Dim submenuitemaligned As AcadPopupMenuItem
    Set submenuitem = menuitemdim.AddMenuItem(menuitemdim.Count + 1, "dimali" & Chr(Asc("&")) & "gned", macro & "_dimaligned")
    Dim submenuitemlinear As AcadPopupMenuItem
    Set submenuitemlinear = menuitemdim.AddMenuItem(menuitemdim.Count + 1, "Dim" & Chr(Asc("&")) & "Linear", macro & "_dimLinear")
    Dim submenuitemordinate As AcadPopupMenuItem
    Set submenuitemordinate = menuitemdim.AddMenuItem(menuitemdim.Count + 1, "Dim" & Chr(Asc("&")) & "ordinate", macro & "_dimordinate")
    newmenu.insertmenubar (ThisDrawing.Application.MenuBar.Count + 1)
    Dim scmenu As AcadPopupMenu
    Dim element As AcadPopupMenu
    For Each element In currmenugroup.Menus
        If element.ShortcutMenu – True Then
            Set scmenu = element
        End If
    Next element
    Dim scmenuitem As AcadPopupMenuItem
    Set scmenu = scmenu.AddMenuItem("", "測量距離", macro & "_dist")
End Sub
Sub drawcircle()
    Dim ptcen(0 To 2) As Double
    ptcen(0) = 200
    ptcen(1) = 200
    ptcen(2) = 0
    ThisDrawing.ModelSpace.AddCircle ptcen, 60
    ZoomExtents
End Sub

按F5鍵運行程序,即可看到新添加的菜單。


相關(guān)文章