乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 43|回复: 2

VBA创建菜单问题。请高手指导一下

[复制链接]

5

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
27
发表于 2005-6-10 12:25:00 | 显示全部楼层 |阅读模式
Option Explicit
Sub AddASubMenu()
                         Dim currMenuGroup As AcadMenuGroup
                         Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
                               
                         Dim newMenu As AcadPopupMenu
                         Set newMenu = currMenuGroup.Menus.Add("自动绘图" & Chr(Asc("&")))
                               
                       
                         Dim macro As String
                         macro = Chr(vbKeyEscape) + Chr(vbKeyEscape)                       
                         Dim menuItemDraw As AcadPopupMenu
                         Set menuItemDraw = newMenu.AddSubMenu(newMenu.Count + 1, Chr(Asc("画图")))
                         Dim subMenuItemPoint As AcadPopupMenuItem
                         Set subMenuItemPoint = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "点", macro & "_point ")
                         Dim subMenuItemLine As AcadPopupMenuItem
                         Set subMenuItemLine = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "直线", macro & "_line ")
                         Dim subMenuItemPolyline As AcadPopupMenuItem
                         Set subMenuItemPolyline = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "多段线", macro & "_polyline ")
                         Dim subMenuItemEllipseRec As AcadPopupMenuItem
                         Set subMenuItemEllipseRec = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "椭圆", macro & "_ellipserec ")
                         Dim subMenuItemSpline As AcadPopupMenuItem
                         Set subMenuItemSpline = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "样条曲线", macro & "_spline ")
                         Dim subMenuItemArc As AcadPopupMenuItem
                         Set subMenuItemArc = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "曲线", macro & "_arc ")
                         Dim subMenuItemCircle As AcadPopupMenuItem
                         Set subMenuItemCircle = menuItemDraw.AddMenuItem(menuItemDraw.Count + 0, Chr(Asc("&")) & "圆", macro & "_circle ")
                         Set subMenuItemCircle = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, _
                                                         Chr(Asc("&")), macro & "-vbarun" + Chr(32) + "ThisDrawing.DrawCircle" + Chr(32))
                         newMenu.InsertInMenuBar (ThisDrawing.Application.MenuBar.Count + 1)
                                End Sub
End Sub
Sub drawpoint()
Dim location(0 To 2) As Double
location(0) = 200: location(1) = 200: location(2) = 0
ThisDrawing.ModelSpace.AddPoint location
End SubSub DrawLine()
Dim pt1(2) As Double
Dim pt2(2) As Double
pt1(0) = 100: pt1(1) = 50: pt1(2) = 0
pt2(0) = 300: pt2(1) = 100: pt2(2) = 0
        ThisDrawing.ModelSpace.AddLine pt1, pt2
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
Sub DrawPolyline()
Dim pt1(2) As Double
Dim pt2(2) As Double
Dim pt3(2) As Double
pt1(0) = 100: pt1(1) = 100: pt1(2) = 0
pt2(0) = 300: pt2(1) = 150: pt2(2) = 0
pt3(0) = 400: pt3(1) = 200: pt3(2) = 0
       
        ThisDrawing.ModelSpace.AddPolyline pt1, pt2, pt3
End Sub
想做成在下拉菜单中点击一个基本图对象自动绘出一个相应的图。多段线,样条曲线,椭圆,圆弧代码写不出来了 恳请高手指点一下。 多段线部分也调试不出
回复

使用道具 举报

5

主题

7

帖子

1

银币

初来乍到

Rank: 1

铜币
27
发表于 2005-6-10 12:30:00 | 显示全部楼层
还有请问如何将指令对应起来? 我现在的这个程序点击圆无法输出圆形,而最下面出现空白一块点击后绘出圆
回复

使用道具 举报

13

主题

31

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
83
发表于 2005-6-10 17:24:00 | 显示全部楼层
Dim curMenuGroup As AcadMenuGroup
Set curMenuGroup = Application.MenuGroups.Item(0)
Dim newMenu As AcadPopupMenu
'******************************************************************************
Set newMenu = curMenuGroup.Menus.Add("标注2(&U)")
'声明菜单项
Dim userMenuItem As AcadPopupMenuItem
'定义宏变量
Dim strMacro As String
'高程 菜单
strMacro = "-vbarun SpiritVale.dvb!modSpiritVale.Biaogao "
Set userMenuItem = newMenu.AddMenuItem(newMenu.Count, "高程(&G)", strMacro)
userMenuItem.HelpString = "指定比例尺及高程点标出高程"
curMenuGroup.Menus.InsertMenuInMenuBar "标注2(&U)", ""
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-3 17:33 , Processed in 1.877448 second(s), 58 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表