|
右键菜单或快捷菜单,是包含在AutoCAD基础菜单组中的特殊菜单。这个菜单只在用户按住SHIFT键并点击鼠标右键时才出现。
# @; R' \9 Z+ B) b, x
: e/ c: I5 }, p: p7 X
, S* a! c0 a1 v/ |在一个基础菜单组中,当一个菜单的ShortcutMenu属性为TRUE时,这个菜单就是快捷菜单。你可以遵循"为一个菜单添加新的菜单项"中列出的步骤为快捷菜单增加菜单项。
/ y3 ] W* j5 J) V! N: `8 R
/ c# H- w- O3 C5 K" `" r( S8 j
$ a" F* p) p1 l# q新的菜单组可能有也可能没有一个快捷菜单。要想为一个菜单组建立一个快捷菜单,须遵循"建立新菜单"一章中列出的指示,并且要把POP0做为这个新菜单的标签。 # Z6 r3 |% y" _$ [0 N2 X
3 f& n! j- l2 _' t. f1 Z3 h
6 p @5 _0 `& P- B- r0 y/ I; C6 {3 q; P+ V8 b4 ]" Q5 y
以下示例如何在右键菜单的末尾新增菜单项"OpenDWG". : `4 H3 _) z1 |9 T- n) ?) B9 }- C
& H( R* n( n% Z7 ^1 v; {# b) X) l% }* E p# O' _' F, y
Sub Ch6_AddMenuItemToshortcutMenu() 8 H9 s$ j3 V' S" w0 o; r. N0 J
, c4 i' @; Y) p9 |4 k: P
Dim currMenuGroup As AcadMenuGroup
- Y: g4 r( G) n. b0 |% l, n: z S: |0 }, \4 r; q: ?7 z
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
' ?9 q ^) j% E4 P* Y& r
+ H6 x5 e6 ]! ]3 C, o
; A! z$ i+ r: f3 w) O
- C4 }6 G7 i: R- D2 S1 \'找到快捷菜单并赋值它为shortcutMenu变量
2 b, k6 F, F8 G- M8 ?
! y: ^9 i9 J( J5 N' A& NDim scMenu As AcadPopupMenu 3 A# w8 e( g( `6 |% A$ d
9 ?9 E* M$ Q. X3 TDim entry As AcadPopupMenu ' j* y; C K9 X$ G! {
' I1 q1 Y6 Y) V3 x
For Each entry In currMenuGroup.Menus
/ B3 @( F+ n% x: j6 I$ S* o- j. Q, e% t+ \- w
If entry.shortcutMenu = True Then ' n) q, l6 W' b% T. h' x( A! k3 D
7 n7 e5 d+ ~1 Q; X3 l1 [ Z" JSet scMenu = entry ) F% K# I. u( B$ S, V0 e9 N* B6 P
& \5 W" H* \+ K0 N: R; ~
End If 4 ^2 q! \$ [: j' N* n' x- V0 G [/ g* a
; k, ]8 f* c* I- u/ d5 ENext entry
0 Z# Q& ^9 P; G; b4 N: R, i/ X* V7 U7 [5 R& ^$ i% D, b" v$ I
/ V+ j' X& n( N6 |7 H: h
: m1 R# o. ], M# N. t. k6 C
' 在快捷菜单中增加菜单项 ; j' n1 b/ Y- Y* i$ ~' n& i! y
6 G4 @6 x# E! \/ @+ w* e* |9 O
Dim newMenuItem As AcadPopupMenuItem
5 X9 c* F* E9 W& b9 J
$ N6 \% M3 ^ j9 H3 N. G0 KDim openMacro As String 3 t7 O4 H7 W3 i, ~
2 ]2 r: [$ _; Y' i! T8 r! ~5 u' 为宏赋值VBA表达式"ESC ESC _open "
$ J& ^8 ?& f2 W$ x/ E u+ R8 ^2 l9 }7 a) R7 Q
openMacro = Chr(3) + Chr(3) + Chr(95) + "open" + Chr(32) 3 U( ~& @' ?! C, g$ \# H8 U, m1 C
; h4 g. J7 v t ]. a- A/ P; _. |5 B& R4 H
Set newMenuItem = scMenu.AddMenuItem _
# }; u2 N q! ~' B& h }2 D* X+ V) h2 ^& \
("", Chr(Asc("&")) _ . o" G2 S. o) b9 o9 @; u- ]
6 j' B$ R7 k, |& F; A
+ "OpenDWG", openMacro) & d( z8 V( h6 v$ |
# }& ]! ~& D& U: M+ F& H
End Sub |
|