|
|
马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
Sub AddASubMenu()" u Z; [# O5 [+ E
'获得当前的菜单组
& D$ E% J' X0 UDim currMenuGroup As AcadMenuGroup' ~3 B' u5 N/ ^: ?* Q- ~" Z2 [
0 L+ K6 m) E5 ~8 W# M8 a
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)" c* h2 B7 N+ u, `8 u+ t
" i6 Y, q3 @4 H‘创建新菜单
! ^" ^' V" u3 V3 _
* f( p [: w7 ^9 ]Dim newMenu As AcadPopupMenu
' K+ Q/ h" a# S& ? Z. o( F: I/ I1 q8 A5 ?! s9 x2 v6 j
Set newMenu = currMenuGroup.Menus.Add("MyMen" & Chr(Asc("&")) & "u")
4 x+ J$ l4 ?0 v; _) K
9 a6 D& m: d5 c'添加菜单项+ j2 { M5 d6 i
Dim macro As String
( K2 p- d: r0 {: C* K m% Y, f( x% ~" J+ v* Z4 l
macro = Chr(vbKeyEscape) + Chr(vbKeyEscape)1 T0 f7 @3 m3 y+ q
'相当于按下两次Esc键8 U j! j- o# J: `# z4 w
9 m5 y( W7 y9 r; s, ~
9 [7 L' r/ Y, X
'draw(含有子菜单)
9 e6 a% w+ h3 p. Y( e1 |9 n! L0 M
* f A8 V6 w4 Z$ P3 T0 o# eDim menuItemDraw As AcadPopupMenu( I" U3 |9 J& D- W
+ q& q/ r2 Z; m& i9 P% g! i2 X' MSet menuItemDraw = newMenu.AddSubMenu(newMenu.Count + 1, Chr(Asc("&")) & _"Draw")8 T1 g r. p* ~$ |% u' c
2 I0 y! W9 i0 h& ~; Z'子菜单项目:line. k- j4 G `9 X8 U' W8 ?. J
" y* l! X7 x* L! k7 r: V) o" t! P5 xDim subMenuItemLine As AcadPopupMenuItem
4 M* M) f! c. I+ l- l( E7 _* \8 ~, t& Q. s' f( n; ]; `
'Set subMenuItemLine = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, _Chr(Asc("&")) & "Line", macro & "_line ")3 \/ l' v7 O0 C3 C- f( ^9 c D
+ U) P3 T! }6 ~; M. m
'子菜单项目:Ellipse
- |7 J' X# ^ K& C
( D1 k4 ?2 W) j, y4 L3 S( _Dim subMenuItemEllipse As AcadPopupMenuItem
% R3 W9 a4 M4 S7 ~9 R8 M: g( q- D/ c: J$ `5 A
'Set.subMenuItemEllipse.=menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Ellipse", macro & "_ellipse ")/ d/ j$ b* Y2 [, @
, g0 E' b% W7 M$ d H4 u8 l7 n2 }'子菜单项目:arc4 s3 {& u" ~7 O2 `
: B% S( ~1 Y, i4 {
Dim subMenuItemArc As AcadPopupMenuItem8 X" J+ D4 d: i& K5 K* n8 ~
, [5 ~/ j9 a- U J: \) q'Set subMenuItemArc = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Arc", macro & "_arc "). g. \" v* A! j9 G* \, W
7 K5 h/ D5 J' I; Q0 p7 g; G
'子菜单项目:circle
, O0 a* s2 u* K) \$ v9 h. O
9 p& a* U* M# G) |8 V1 B8 zDim subMenuItemCircle As AcadPopupMenuItem* x3 w4 o, [$ w( S% r7 t
, b; `) s* S( f! {# F'Set subMenuItemCircle = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Circle", macro & "_circle ")8 \* p9 g0 Y B8 |
) B6 q$ p* R" ~! Z
'子菜单项目:SPline
7 t. c0 x* [3 X' E( h3 f' ?
$ j1 V3 Y+ f- u/ l1 P6 G9 vDim subMenuItemSPline As AcadPopupMenuItem, |) }( f1 O% P5 n4 R r% N! U0 S
' Y: A7 @" @9 N) w! X7 X; V- e
'Set subMenuItemSPline = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "SPline", macro & "_spline ")
J6 Z: K" `/ H- ~0 E4 X- G1 K: i0 b$ ~- l/ X7 m8 k
'子菜单项目:Point
5 y- ^$ J V ]' x0 R6 s- C: m+ Y, a0 k4 ^1 D, @# j: Z i
Dim subMenuItemPoint As AcadPopupMenuItem
- w- s) e" U0 N$ U' T+ ^$ G9 j! g* e/ _$ ^8 C$ g, D
'Set subMenuItemPoint = menuItemDraw.AddMenuItem(menuItemDraw.Count + 1, Chr(Asc("&")) & "Point", macro & "_point ")
+ H& T& h4 ]9 N
# Q6 g2 M* X8 H& [2 a. T
) I+ d( I. ?/ z* P6 e% {: ^0 G( B' 在菜单栏上显示菜单9 |$ c7 g, r5 m( l; `' u8 E2 d
% U& J# N. Y. ]% `* e6 h! z8 E
newMenu.InsertInMenuBar (ThisDrawing.Application.MenuBar.Count + 1)6 U; q$ O n/ M& K
End Sub
% \* d" @$ g* G, q9 n+ b3 P$ {) M
' Y0 g% X y; D6 w4 p ]! I
' G: t& Y/ }' U$ M$ b) @ % I) N0 P$ j& ? Z5 T& p, ^( Y
这个程序哪有错的? |
|