|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
Sub AddASubMenu()
/ v# n% t& _$ `8 T3 q& d' s( f'获得当前的菜单组# j: {; D, q9 ^7 a2 o
Dim currMenuGroup As AcadMenuGroup
6 k5 Z. \8 h( C% u0 _, `$ i! G4 k- W
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
; b7 d0 a) G1 v7 E) e! {. w
1 A4 k4 T; p2 p E‘创建新菜单
W0 b+ U. ^ n [8 v( u+ }0 ?+ y3 }# ^: k7 |! A1 {
Dim newMenu As AcadPopupMenu
! B7 Q4 \5 {0 ~8 \) p2 g7 I( G, d' L0 S$ h/ S
Set newMenu = currMenuGroup.Menus.Add("MyMen" & Chr(Asc("&")) & "u"): z4 W8 J: T9 V/ ^
/ b' n/ @3 h) m" a'添加菜单项
1 u- v2 k- u% X& y5 N) ]Dim macro As String
' P1 C* [4 |5 ?. U
3 [6 O/ C8 z) |5 @5 f6 Qmacro = Chr(vbKeyEscape) + Chr(vbKeyEscape)
+ D# H* Q2 \4 g6 W- s5 n'相当于按下两次Esc键
# K/ @$ H( b8 W* K9 i; J j i) x- m, W0 ~
+ i* i! r1 @, H+ o( J8 Q9 ~1 y5 F9 k
'draw(含有子菜单)
% d' e8 s! n9 H" v
# f: Q6 k8 [2 @6 B' \Dim menuItemDraw As AcadPopupMenu
: w4 ? ?% ^8 h F4 D, F$ j% o- \4 r+ Q: H
Set menuItemDraw = newMenu.AddSubMenu(newMenu.Count + 1, Chr(Asc("&")) & _"Draw"): q: V+ S% A6 O4 ?* I3 f/ k$ F
& b) T% p/ o E+ x. O/ H'子菜单项目:line
: K/ Y9 w2 N; d: S
' c/ C& L; T/ w4 BDim subMenuItemLine As AcadPopupMenuItem, ?: F. Q, l7 F K Y+ w
# ~0 k( _- \' C2 V'Set subMenuItemLine = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, _Chr(Asc("&")) & "Line", macro & "_line ")
3 y: H4 N m( g6 \
6 I) r9 l: t( @% ?4 h5 X'子菜单项目:Ellipse
3 D" O i8 b0 d3 Y3 S# E( T4 e9 H- a+ |$ _7 Z' Y
Dim subMenuItemEllipse As AcadPopupMenuItem
$ w- ? ^2 Z9 B( w' w' Y3 l) K
E, i9 l% Y/ e6 x; l4 N" m5 r'Set.subMenuItemEllipse.=menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Ellipse", macro & "_ellipse ")6 t% |, f0 J* i
" S0 x7 Y1 A' Q; @8 P7 S8 ]4 W
'子菜单项目:arc
! N9 A( N" r4 u% P& S2 @0 O) b7 H7 n. d; w2 o1 K) f
Dim subMenuItemArc As AcadPopupMenuItem
+ H0 b* j% h4 s t
1 `' I, ~! O7 ^' g. j'Set subMenuItemArc = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Arc", macro & "_arc ")
! H' }, j6 L6 k2 M. Z) q) F2 z9 b1 s! P
'子菜单项目:circle4 I- J$ H9 U! @! ^
1 o; t' g# N, s. q6 x% D
Dim subMenuItemCircle As AcadPopupMenuItem
* e( h: z% v, ?7 ]
) |, v7 E% t; z0 g'Set subMenuItemCircle = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Circle", macro & "_circle "): o: \1 v. }8 M
) K/ Z7 F& x8 V. y# A* e'子菜单项目:SPline1 `$ T9 k3 x V+ e6 M/ Q+ z
1 M& A8 [5 A+ w9 ?( `
Dim subMenuItemSPline As AcadPopupMenuItem
9 B4 m. w4 ]5 G" t
6 G# h J, p. Q5 e'Set subMenuItemSPline = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "SPline", macro & "_spline ")
5 e6 c8 y7 J( t1 ]" O) \4 u
2 T7 Z5 N6 K/ L) ]' a; W6 n0 q) E'子菜单项目:Point. ]% c6 @# [. c+ L- ^2 `
' k c, O* S |' w/ v- R3 {Dim subMenuItemPoint As AcadPopupMenuItem# p& L1 Y$ _- a9 c) q- W l
- }* v6 v4 x8 A' e! ]
'Set subMenuItemPoint = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Point", macro & "_point ")* f" _ {, X& x' t, O1 g7 y* g7 B
8 M4 Q: ]6 u0 e. M c) W- ?+ V4 J/ L* d1 w @) |# L9 _. K
' 在菜单栏上显示菜单
: |. ~. n2 T: U0 C: f( J8 ]& E/ C1 q" x1 b
newMenu.InsertInMenuBar (ThisDrawing.Application.MenuBar.Count + 1)( y- g: n+ K6 @5 H8 p& Q
End Sub
0 Z8 x6 Q* I# D' `4 M3 k+ k4 ^) W Q0 l 1 x: o4 v& n. p
* K) h1 m( F3 A, Y3 I0 t; T9 U
* d1 a5 B t! Q% B/ c5 J这个程序哪有错的? |
|