|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- <p><div class="blockcode"><blockquote>, x1 I2 C% R/ N6 n7 R: v4 ^
/ h7 I" |# B; B9 c- # u# u0 c& P. C: v) B
- enum MenuID, e! Q# L3 c2 U' J' V
- {3 `1 ~/ o$ Y- }/ @
- RemovetopNode = 0,5 r3 q; R: }& E1 n/ q0 i
- DeleteNode,8 j' _1 N4 c% @# m B& t
- CheckedMenuItem,$ t# p. Z- f7 D. E* {. R. b$ K
- DefaultMenuItem,0 }' |+ c7 W! A) x* Q$ S
- DialogLaunchMenuItem,8 J! ^- m3 I# f
- DisableMenuItem,7 I2 H/ `+ x' @: \; {/ L
- HiddenMenuItem,
8 O, K1 n- Q+ T8 v - IconMenuItem,
5 X; l9 \; C. J+ n7 a& E0 w5 n - Y) q# K l! e0 R, _2 j
- SubMenuItem1,0 `- k9 ]2 T- j. { L9 a
- SubMenuItem2,
& F& ]2 n5 b; m! L0 U' C - SubMenuItem3,* c5 [$ H: F" h' Z5 |. [
- SubMenuItem4,9 { ]) _+ y4 Q& I3 Y
. w+ Z) E& @5 d4 j- historymenu,9 l' x' v! A k! f( E0 y
- nohistorymenu,
3 G6 b) n* d$ X: L6 `$ W7 a3 f
9 L) O7 D1 h7 Q( S9 p9 Z1 W- modelhistoryfilter,5 U9 O; O, e& J6 d3 s! }
- filterSubMenuItem1,1 u/ t/ l. F# E" T, P
- filterSubMenuItem2,7 t% i6 i/ [8 j, R$ Y q v# z$ s
N+ l' W5 I4 N- q
: O! h- E6 }% X) p: ^- };
% {7 {. Q4 D2 }3 f# K- a1 [7 [' i - void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )$ O: c' q# O8 z; L) I6 P
- {
- k3 F' |0 Z6 r; H* D - TreeListMenu *menu= tree->CreateMenu();
& W" \$ E" M0 P, `+ h+ `; F - TreeListMenu *submenu = tree->CreateMenu();
1 ^1 S& c+ @; ^, v, L - if(node==NULL)
8 o1 ]: o5 O v: Z( K - {
( g- |# W+ a$ L# x8 }! ?; { - menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");
: y- O0 ?, ^6 E: V+ b8 ]$ k - menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
4 R4 h1 s, w$ J4 j8 a0 D$ V4 P - menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
' b0 e& ^9 J& {" `0 u2 r0 F - menu->AddSeperator();# [8 D" m/ I' C
- menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");9 D) d& F. I% h* \* i& h- w6 A6 G: v
- menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");
`' [+ S0 A U# U - menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");2 B: u" e/ K5 c. _ Z3 ?
- menu->AddMenuItem(IconMenuItem,"IconMenuItem");
; O: [2 x- G0 Z1 C - / A; R( A+ d/ Q3 M
- menu->SetItemDefault(DefaultMenuItem,true);' t9 ]/ N' k) ~0 m9 a
- menu->SetItemChecked(CheckedMenuItem,true);& r) A; A$ p( |+ _6 @, e
- menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
% w) M5 R8 d' ]7 X7 z: u - menu->SetItemDisable(DisableMenuItem,true);
& x" T0 K6 K5 M6 T - menu->SetItemHidden(HiddenMenuItem,true);
$ W3 p! |& b7 V - menu->SetItemIcon(IconMenuItem,"skeTCh");* n$ l4 P4 {9 X5 v1 F- g. y! v
- menu->SetItemText(RemovetopNode,"Remove Top Nodes");" e& G. M5 X% d& }- v
- T) B9 g- e. L5 r k, M
- // submenu* Y3 D8 |8 I1 D' J# n9 ?
- submenu->AddMenuItem( SubMenuItem1,"Model Views");! F* G$ ~: i! |0 J. a2 o
- submenu->AddMenuItem( SubMenuItem2,"Cameras");. @) a1 g/ {+ V/ a8 N* l
- submenu->AddMenuItem( SubMenuItem3,"Model History");& S F7 @# V5 r, \' [. n
- submenu->AddMenuItem( SubMenuItem4,"History Model");
: I1 g! Y4 u' M7 ?2 K
9 |* N+ N0 X6 F, ^, b- menu->SetSubMenu(RemovetopNode,submenu);
1 j; p) h/ ^& }! N6 c& |! r' x1 P - # a1 U+ @. {/ E/ a7 q
- }
3 F* V$ D# V5 Z4 S% l( t6 r" }& u' ? - else
( D6 s; }5 W [ - {2 v6 G, Q6 j4 ~" Z
- if(node==modelhistoryNode)
( X# ^) s6 b) E2 k( l2 g
' a5 @9 k0 c# c3 w- {
- e' h' w8 Z2 }$ _ - menu->AddMenuItem(modelhistoryfilter,"Filter");
' M9 z' R. |& v+ {. [+ g - // submenu
& ^! U$ L: J0 Y; K- Z - submenu->AddMenuItem( filterSubMenuItem1,"Remove Item"); p& f; v/ Z7 R8 v' c
- submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");: B1 {& I# F; `5 W! g* Q1 \
- menu->SetSubMenu(modelhistoryfilter,submenu);7 D% k2 U9 n( _' P
- }
* M0 r+ K+ j) A9 d- \3 P - else if (node==historyModeNode)% Y! d8 M4 I# \8 y' Y* t6 f
- {: V3 k6 y" c3 d% m. `7 g, |* U
- menu->AddMenuItem(historymenu,"History Mode");# b( h/ J$ ]5 {7 U- ~
- menu->AddMenuItem(nohistorymenu,"History-Free Mode");3 d8 n& C( M, O2 Y/ d4 ]
- menu->SetItemIcon(historymenu,"check");* k7 h7 Y, \% k
- } e$ T3 d6 a; h5 m
- / O- M: X3 w% @8 D
- }9 z0 v( g+ \9 Q" h5 a b6 P
- 8 y9 J8 I, i. y- U) G+ f
- tree_control0->SetMenu(menu);
$ R: Q& ~$ Z$ q" r; R% \1 } - 9 P- r Z" t3 Q1 s+ O
- delete menu;
; s. z& E! v, r! {9 L - delete submenu;
5 M% B" m/ r& v' ]3 Z# A - }; }* V! J8 Z6 W. ^5 a, o
复制代码 6 k1 @* Q& u" q! d. K
U, h/ T0 |4 U. c6 [
) {7 A& Z# Q }% fNX二次开发treelist控件添加右键快捷菜单回调函数的简单例子
" b, h! ~' q, N, }. i7 E+ d. g0 Z' Z1 _; x$ e k3 ]$ ?: M
这里大概的模拟了下 部件导航器的功能!0 c0 |. D( u% B8 N; S% i7 R
" [) B, s- C* ^3 p) G
6 ^( g6 J, Y( T ?
NX二次开发treelist控件
& W' v. ?' h* K" x. j: v( s) O
/ B) C- b- Z$ ~8 I8 U
NX二次开发treelist控件
m, a( \5 m0 ~( v* v& Z" T0 I2 g$ ]' ]
NX二次开发treelist控件
3 j7 ?! d, u/ H: X: ~2 i
4 X" T* K4 o+ E, `" k6 R9 m6 T! v% d; n5 V- M
|
|