|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
Sub AddASubMenu()
* [1 \) G4 B y G5 A3 v'获得当前的菜单组/ g/ r4 W* S1 r
Dim currMenuGroup As AcadMenuGroup H4 l0 M& T, V( m7 {. g3 r
3 [/ g: ^0 U* w% ` P
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)8 g8 d7 y! w# m: r4 _
0 S6 a0 G2 T% {& J1 N+ l
‘创建新菜单
: B5 L1 \9 F6 X. s( s4 K. Q6 a& G0 I, L% h2 g" @
Dim newMenu As AcadPopupMenu8 |$ b- ]8 o( v# Q3 a
' A& P X. `( h* c* ySet newMenu = currMenuGroup.Menus.Add("MyMen" & Chr(Asc("&")) & "u")
8 `+ y, f) U( D, S+ L
; u# a G6 r! g. K( F* n'添加菜单项
, A" K" v8 F, p' o6 VDim macro As String
# ]* \# O6 b- Y1 [2 l( Z* Q; S& F! p. v
macro = Chr(vbKeyEscape) + Chr(vbKeyEscape)' g; K2 b- x7 h7 k4 V" \( B
'相当于按下两次Esc键
u3 \1 r3 W9 d. M
/ H3 a, a1 J/ R5 n) h7 }
0 e9 V$ n0 H" P% B3 j+ i'draw(含有子菜单)
. F2 R! R( F& p# c$ q* f$ o! \, g0 |8 x$ |; h2 P( h: i
Dim menuItemDraw As AcadPopupMenu, d1 [3 L# k& o% Y; g+ o( L
4 p( ]$ U: ~3 l% @0 DSet menuItemDraw = newMenu.AddSubMenu(newMenu.Count + 1, Chr(Asc("&")) & _"Draw")
P, P( n4 C2 o7 h$ X! O+ J Z* U
5 j! T* C3 ~4 z# a3 b'子菜单项目:line; \& l( w8 V- @. Z0 G
2 k* W0 S0 h( r3 \+ N* l" t) IDim subMenuItemLine As AcadPopupMenuItem
% w2 t3 G1 T0 R3 O8 [/ g% k1 H# {1 ^8 t$ Y( e* U! n0 `' C
'Set subMenuItemLine = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, _Chr(Asc("&")) & "Line", macro & "_line ")
0 K s2 A3 y [5 [5 E
$ L1 B* y4 j% B' p' v'子菜单项目:Ellipse' {: d" C$ O# A
" N, Q6 _$ v4 a- x. j" rDim subMenuItemEllipse As AcadPopupMenuItem% Y1 `+ J+ ~ q0 ?
7 R; Q. x$ U! V+ {2 v0 X'Set.subMenuItemEllipse.=menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Ellipse", macro & "_ellipse ")1 L- P8 e3 j/ b; G
- E& J0 i, l5 y+ A8 _0 A3 T
'子菜单项目:arc; U; D. i. o. y3 U p2 d- W& U
4 S7 E. `; x& [. {$ M: }) n
Dim subMenuItemArc As AcadPopupMenuItem
5 U( N9 ^5 m' Y. ?0 W/ B; }( w9 y* I- U8 _- U& f# S* b
'Set subMenuItemArc = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Arc", macro & "_arc ")
) c* d. L9 T8 ]# {, v7 T& g9 e& O
, x9 j+ q( E$ ~. j7 L/ l'子菜单项目:circle
/ T% V7 j0 f3 K8 d. n5 i/ c: H5 @3 p" H
Dim subMenuItemCircle As AcadPopupMenuItem( i# C; }4 m9 [, P' Q9 w; ~
' x5 S2 h# Z- ?4 Q3 K
'Set subMenuItemCircle = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Circle", macro & "_circle ")+ [" Z7 y6 x H4 U. K: l- s
! \2 S* p6 n& y5 s
'子菜单项目:SPline
3 O1 X, J8 y+ d( D8 ] I
5 u: U5 u" F+ V: c) V# {Dim subMenuItemSPline As AcadPopupMenuItem
4 @8 w1 e* O& d7 o. l3 B* g1 a# l* l3 L: [8 X* }4 N( K' _3 s8 Y9 b
'Set subMenuItemSPline = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "SPline", macro & "_spline ")
( j" R6 Z) F0 ]2 c+ Y/ p ~" v7 z0 T+ M
'子菜单项目:Point
) T' p5 n. U! S* k7 J5 M
+ L3 J- c( A1 l( X" \Dim subMenuItemPoint As AcadPopupMenuItem
' G! `/ n3 i) I r! T9 M
# ^4 o- f, U, v, Q/ R" |6 j3 J'Set subMenuItemPoint = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Point", macro & "_point ")) X* Z2 n3 ]7 b. ]# o7 ]8 w- ]7 ~ c- n( j
: y. R y6 F+ z' r
& h, q; B- _: G' n: x' 在菜单栏上显示菜单
- `: C0 ]% R- u- t7 Y2 H! H
, |) ~( J/ ?9 ~ W B3 D1 RnewMenu.InsertInMenuBar (ThisDrawing.Application.MenuBar.Count + 1)
; g* T$ x; F+ I; C$ ?% }, T( X! \6 TEnd Sub
+ _- R, @9 ^; a- j4 q' ~* ?" A ! k3 m; q5 u' N8 {: U- l
9 }# D$ ~; z0 T) p+ Q
, T& M0 g3 P$ {, M# i, P' I
这个程序哪有错的? |
|