|
|
右键菜单或快捷菜单,是包含在AutoCAD基础菜单组中的特殊菜单。这个菜单只在用户按住SHIFT键并点击鼠标右键时才出现。 0 h$ B ~2 U1 [8 \( m
# u8 C U# R& T( c. F P/ k/ @0 R
5 E) d3 M) ]# J( g在一个基础菜单组中,当一个菜单的ShortcutMenu属性为TRUE时,这个菜单就是快捷菜单。你可以遵循"为一个菜单添加新的菜单项"中列出的步骤为快捷菜单增加菜单项。
) u: s( \- L r3 B( X: Q# X: e5 O9 v/ Y9 S* G
0 b: c# L7 \ l- n. w
新的菜单组可能有也可能没有一个快捷菜单。要想为一个菜单组建立一个快捷菜单,须遵循"建立新菜单"一章中列出的指示,并且要把POP0做为这个新菜单的标签。
6 o9 E" _6 h8 v a) p3 W+ f7 ]% c H& d
( o. n" @& [# ?2 @+ S! n0 U: E8 _
( V9 T, u* {8 d8 n8 J8 r
以下示例如何在右键菜单的末尾新增菜单项"OpenDWG".
, j+ `$ @) F5 s7 J
3 U9 I4 n' I8 J5 |; v' K
# M8 Z" a+ [6 X& H- I7 O7 Z9 WSub Ch6_AddMenuItemToshortcutMenu()
# u1 O M% M' k: Y6 m1 ?1 A& F, t9 p" C/ @/ N
Dim currMenuGroup As AcadMenuGroup
* C( y2 t) F* O2 l4 T! E- W
) R! G! W- s+ R* Y8 Q: t4 {$ lSet currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
$ d" R% j( q8 P3 ?. V* w* I( R
9 K: \- q! S, [* e$ u$ {9 w/ x' a2 r( d! u- `% }( K& y8 }
0 P# d( U! D$ n: h) m'找到快捷菜单并赋值它为shortcutMenu变量
8 U `, `) X+ j1 Y+ v% _5 O
0 U* d7 ?4 y( r9 P [/ k9 u5 pDim scMenu As AcadPopupMenu % j9 y( x% o% `7 x) S
; @) m+ r% v. L4 P
Dim entry As AcadPopupMenu
6 d0 H5 ?" B; T- U) r. X3 z/ L3 v
9 V8 }( g% u1 p5 s% ~For Each entry In currMenuGroup.Menus 0 h2 ]" k' D- @: Z
- ]7 J) U. o1 S5 P9 ^. M8 R2 NIf entry.shortcutMenu = True Then
2 M$ ?1 Y7 [9 @8 ]7 A$ S1 Y6 C3 o6 h
+ A: q* t' q$ D: b+ r5 zSet scMenu = entry
) q7 u2 ~3 `4 F' H) v9 O* e k7 Z5 V
End If " ]* d" e8 \% V6 I `+ b6 U
7 b/ |' g8 U, O& QNext entry
& k4 _! @" Z; f+ P) T5 k3 [% r9 ]6 O: l8 F V% i
& [+ C- C0 o6 I
9 j, _( V! ^; I8 o/ q' 在快捷菜单中增加菜单项 9 x- i& x1 x+ N7 V% X0 I2 n7 E) h
: l# J: F) G5 q% K) C3 V% \
Dim newMenuItem As AcadPopupMenuItem
' u& i/ o; T* s+ z# O( l' m% s
' U" W1 P. g# x( ~+ b+ r4 NDim openMacro As String
+ b! ?- D4 c5 o7 m
$ F: q, w% o+ u3 F' 为宏赋值VBA表达式"ESC ESC _open "
y& b4 D: O9 ]: @: f" ^; o
# v* K1 z/ j/ S: E3 iopenMacro = Chr(3) + Chr(3) + Chr(95) + "open" + Chr(32) $ B, s4 d, o0 {8 U6 W
4 H, T* Q P/ @: I- h) R
9 [; |) T: Y" [3 F& e
Set newMenuItem = scMenu.AddMenuItem _ 2 p e: H h& p8 L4 q* B4 j
: t5 h, R) s3 d* b( w9 q("", Chr(Asc("&")) _
) {, o* T% l+ O& |+ T# ^: B5 W; n- T/ x" }& k
+ "OpenDWG", openMacro)
; H: \" ^+ G8 u ?4 x" C o" q( \& Y4 X! a; n
End Sub |
|