|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- <p><div class="blockcode"><blockquote>
S- `' R9 P1 Y. L# p
4 @; N5 m3 Q) R2 K; O9 n- , T) j; h- }2 B
- enum MenuID c8 ~, r9 `* B8 l% Q
- {: J5 x7 E( q8 [& ~: B/ x
- RemovetopNode = 0,7 I/ X7 P0 J( G3 W' X( V
- DeleteNode,
% v) ^4 K, W0 K p# Z - CheckedMenuItem,
2 a2 ]% b, z" _- L9 \ - DefaultMenuItem," @( j2 M( O4 p- ]" v' M
- DialogLaunchMenuItem,
# I0 d8 P( Z8 V5 c( r: [ - DisableMenuItem,
$ ?; A( f6 l" l. D' X7 s - HiddenMenuItem,4 D. Z+ k7 m i' ~; T5 N1 ?
- IconMenuItem,
3 m5 y5 d7 {# Z2 k$ y
1 m4 C6 o4 i/ g) N D3 T( w- SubMenuItem1,. R* y) e2 E8 F5 |0 d' F! S
- SubMenuItem2,
8 H$ \+ f ?. e5 h @ - SubMenuItem3,
, P! E4 t# m; X8 Z+ W+ h - SubMenuItem4,
! j- }* c- a* T3 M5 ~, ~% k
0 ~. @ Z) }% r# b, @/ t- historymenu, b1 p& q0 `2 Z
- nohistorymenu,
2 T/ ~! }3 H! x3 G - ! U+ X' Y& ^( ]. S& ^: e8 _! i; V0 b
- modelhistoryfilter,' I) k ^! E s& _
- filterSubMenuItem1,
( R/ u( }- q9 U0 ^# V3 ?! b - filterSubMenuItem2,5 e) p1 u$ N& S9 P( D% b z7 h
- 9 N" v2 _: A" O
- 0 U; W6 i0 j" g7 ~
- };! a# m* W% v( y) z" N3 |+ _" x: a
- void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )8 j4 |( }# }4 \& n
- {* |. N6 M5 A6 {4 ?5 p
- TreeListMenu *menu= tree->CreateMenu();! P2 b) g7 |$ [# m
- TreeListMenu *submenu = tree->CreateMenu();
! q: D! [4 P* L8 I8 D9 f - if(node==NULL)
8 n9 b7 K2 ?- i8 k- ?* M- W" N, P - {
+ |+ \3 d: ^. j: }* k- d9 a - menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");% U. B& I- t' Z2 m# C0 v& `
- menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
' A' ^, a# J" S; h( G, _2 G- ? - menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
% q0 @) G( i$ n6 m% [2 g' {8 z - menu->AddSeperator();
- f5 B- K% S( n7 Y& Y9 \ - menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");
& d; @- k0 H3 F2 z, O - menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");7 g) T# T" c3 Y! c/ ]0 V( H( [
- menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
- k& O7 S- J) R6 K, X) f9 I/ q8 B/ H - menu->AddMenuItem(IconMenuItem,"IconMenuItem");6 Y' ]1 R* v0 R# j
- : i/ x0 c2 t- F
- menu->SetItemDefault(DefaultMenuItem,true);
, g0 L6 o. ~1 h# } - menu->SetItemChecked(CheckedMenuItem,true);- _3 j2 t3 |7 g4 l, m3 ], _- b* ~
- menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);0 P5 Y/ ]" i: a$ O
- menu->SetItemDisable(DisableMenuItem,true);+ z5 E: h3 S; Z; @9 W- Z
- menu->SetItemHidden(HiddenMenuItem,true);/ ]+ M, y1 E/ k( s
- menu->SetItemIcon(IconMenuItem,"skeTCh");& T) u# E: y" f$ e: M/ P
- menu->SetItemText(RemovetopNode,"Remove Top Nodes");% K- R+ C# W+ G0 V/ M4 b
- ' E5 X/ t/ T8 X
- // submenu& a( r" y) X& ]) c3 ]$ V
- submenu->AddMenuItem( SubMenuItem1,"Model Views");
) W5 W6 @1 ?2 m, V0 Q - submenu->AddMenuItem( SubMenuItem2,"Cameras");! v7 A8 l1 V( b
- submenu->AddMenuItem( SubMenuItem3,"Model History");6 Q. `$ o' w/ z/ w- z# a E
- submenu->AddMenuItem( SubMenuItem4,"History Model");1 v, u" D5 G" B5 @+ M% x' r! d
5 {/ x6 ~1 E: ^) }' |5 [% X- menu->SetSubMenu(RemovetopNode,submenu);3 X" |: i4 ]0 Y. x
- 5 @ B+ T, j" b/ T
- }
/ C/ k1 U+ f- ^5 r- Y% T - else
& x) g& y; L3 T% n - {
8 K: U" v$ K: _) t; t - if(node==modelhistoryNode)
! i( L* }; K) T" h" B1 k0 [
' \2 R) _% @+ a, a! B$ d- {# ]7 X; m' s9 g1 Z; d" c9 [4 m
- menu->AddMenuItem(modelhistoryfilter,"Filter");+ Z% b+ t& w5 ^; E7 a
- // submenu6 ]: K, \9 V0 M
- submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");
& w" N- u3 ~3 s8 o - submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");$ K) d+ s( d* N3 Y! j5 m
- menu->SetSubMenu(modelhistoryfilter,submenu);- R+ T6 s/ {0 v# _
- }
7 M' C# Q" i2 ]+ k0 ?. E1 Y( E$ B - else if (node==historyModeNode)
2 |' n* g5 s# ?+ u1 |- \ - {
1 [6 _5 {5 S6 V; h! I: z - menu->AddMenuItem(historymenu,"History Mode");
) \$ s0 K u( C$ o9 a - menu->AddMenuItem(nohistorymenu,"History-Free Mode");
5 D' W$ {0 v5 L6 j- T+ D - menu->SetItemIcon(historymenu,"check");
- z& B9 ^4 U2 ?; Y+ n% T5 x6 f - }
8 u/ V& Q8 A/ ?* m2 Y/ |; U
. q; C: Q9 ]7 K0 ]' q- }
) ~4 P( V1 ^ G4 c - - |5 H! j" w+ x4 g3 k# M
- tree_control0->SetMenu(menu);
( j1 H, r7 G% {# ^* v. ~
+ s1 ?& I, u1 G7 |* ]- delete menu;0 h0 Y3 A s5 l0 k/ c. Y) M% g
- delete submenu;; { c! B4 X- b( u6 }" S
- }
3 z9 D ?) P* ~. N0 {
复制代码
! d* J2 Y/ w& Y D1 F# G5 [2 _" b! d, {+ q+ w5 b6 O/ G
0 ?, T6 H4 ^. `! f! E+ }NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子# f$ i& [$ Z% y8 [/ l* v5 D
( Y0 G8 u' v0 f7 {7 d# Y, j这里大概的模拟了下 部件导航器的功能!
& B# \! E& n& s; u2 \ j. d( w. G, B9 I+ M
: h n8 a* I W
NX二次开发treelist控件
- t: D/ K9 X! N$ }- ?4 d9 _
) C; _9 f. m% g% L9 s* q# H3 j1 v
NX二次开发treelist控件
4 r/ L- c: n9 c# b% p8 p- ~) R3 F% v; {7 Y
NX二次开发treelist控件
1 ~$ S( K+ e' P$ ^
' }, [9 y" k, F
" w, n# n+ j) I |
|