|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- <p><div class="blockcode"><blockquote>$ F2 R# a+ P S1 X) G
* H- s, i R8 q, v
4 m5 c/ ^$ Q5 e. y1 x6 l6 f: I1 P/ N- enum MenuID3 }7 K4 z, k. _; v# D
- {! ~+ j- {4 `" e( W V; |3 r) W u
- RemovetopNode = 0,
$ a& j( v8 \6 [! f' V - DeleteNode,
3 g( g7 Y9 S' H - CheckedMenuItem,$ Z: j7 a5 N7 w
- DefaultMenuItem,% P6 }" `9 v ]: e
- DialogLaunchMenuItem,- C% p" r2 L: v: f$ O5 E
- DisableMenuItem,, `5 T$ ?6 Q' S6 J
- HiddenMenuItem,
: j m0 Y/ D% N% G - IconMenuItem,+ v; u/ v2 J0 u7 S
" ~8 L1 @3 }- P3 ]% l- SubMenuItem1,& O. J* [8 ^6 K" ^
- SubMenuItem2,
3 v' z# D. w8 C2 S8 r9 f: I' g - SubMenuItem3,2 X8 F+ w, o( G s" x: h
- SubMenuItem4,$ j H( x O' q1 M/ W' n4 o7 [
- " F0 p* g7 _" `4 a
- historymenu,
: y! n; V' Y. c- t - nohistorymenu,
" L) a2 A% [, d: J# e1 z1 A# _' _ - 3 s( D. [, S9 g% U2 g
- modelhistoryfilter,
- G2 w5 [. H& o! a - filterSubMenuItem1,& t/ ~* o! b) c3 H
- filterSubMenuItem2,
: I" M1 c) B7 l* c% h: s; e - ! c! Z2 T% [5 r: R* C; v0 g; p
" r+ `% ]& \5 u% K6 ~- };
4 H k1 ?% v! \! x) j/ q - void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
+ j& a# q3 o, ~# V: }. m - {
6 F+ M7 d2 q e - TreeListMenu *menu= tree->CreateMenu();
" E' i8 u9 o$ G# n - TreeListMenu *submenu = tree->CreateMenu();
. s: m$ v3 z* N0 r - if(node==NULL) h% w2 r2 l; n* k& `1 Y! ?7 f
- {
2 i* j+ a u! f$ ]6 m2 v$ F% E& i - menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");
% q6 D. ]( m$ n8 z - menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");' C) L* j7 F" v& r1 I; x
- menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");2 b: K K% O. \4 E( U# Z5 x8 H
- menu->AddSeperator();7 e6 K9 _0 f2 A
- menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");
K" M! e, c( b* w2 Q: v - menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");
- K, ~* x- o; g+ f2 Z - menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
9 w& X3 k- y$ x7 x7 V - menu->AddMenuItem(IconMenuItem,"IconMenuItem");
+ Q M& L" j# s) |0 u( h - 0 [, p+ R5 V- b. [
- menu->SetItemDefault(DefaultMenuItem,true);7 h; R5 v/ {3 t; b3 r
- menu->SetItemChecked(CheckedMenuItem,true);
( l! @* [+ A' v! s4 ?8 B; ]: S/ R/ `7 ] - menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
8 B- M2 Y/ Z) j' [9 G - menu->SetItemDisable(DisableMenuItem,true);& p0 E" X5 i$ y; D& Q
- menu->SetItemHidden(HiddenMenuItem,true);5 G0 r" C) K+ o/ h" b
- menu->SetItemIcon(IconMenuItem,"skeTCh");
. B* h' \1 b% Z+ b5 U7 k1 y2 [ - menu->SetItemText(RemovetopNode,"Remove Top Nodes");& `6 z+ `+ ]" ]
- " g$ I I$ Q r( h" F$ e
- // submenu3 L/ J- n! E1 _& v h! h% H
- submenu->AddMenuItem( SubMenuItem1,"Model Views");
4 a$ ^9 N9 m+ o, ] - submenu->AddMenuItem( SubMenuItem2,"Cameras");
) _! q# F( \6 K& w) r' } - submenu->AddMenuItem( SubMenuItem3,"Model History");& @* P I1 P: F; s, Z/ w5 [' B, Z# I
- submenu->AddMenuItem( SubMenuItem4,"History Model");
) c$ X# ?! }8 }8 E% [ - , d) [7 |! G$ L7 s
- menu->SetSubMenu(RemovetopNode,submenu);; U* o) i- h P5 ?' [! E
) q/ n- R, U0 s+ I' S4 }( d# W& `! O. \- }
$ z2 A) D3 E2 @ - else! s7 b: `) i9 H0 c" L3 j
- {
_& I6 J8 l+ d A - if(node==modelhistoryNode)' R& c9 Z) @5 F" W) G; b! a
$ U R) y, V- F- {' E1 w, T4 V. v, V1 m' E* }& |* D) \
- menu->AddMenuItem(modelhistoryfilter,"Filter");
! O7 L2 x+ q+ b4 s - // submenu
* s! L. M: J" P2 k' P! F) E8 O - submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");1 B" ^8 W6 S, C1 \
- submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");
5 j, A4 g; ]& X - menu->SetSubMenu(modelhistoryfilter,submenu);& ~) J) r, N* J
- }
0 p( D9 v3 H% X0 e2 [5 \7 `; ? - else if (node==historyModeNode)
4 W% e" S1 \( u Y - {( [+ o$ [$ w& ^# q3 y: S$ Y# |, z
- menu->AddMenuItem(historymenu,"History Mode");
5 g" C O% b1 A C - menu->AddMenuItem(nohistorymenu,"History-Free Mode");( K% c& k3 f' X
- menu->SetItemIcon(historymenu,"check");& P& m" f) w3 s# U0 c
- }& p G4 y9 v' q& \; X5 b: _
- 8 k- f6 l; [# E7 E# b9 ]
- }
6 x F' ? o6 ?
6 \- f+ S8 _( a- {2 ]+ A- P1 c* l- tree_control0->SetMenu(menu);
$ G# G7 L; U4 l$ _: O - 5 z& `' v! h! d- f$ L/ d
- delete menu;
. Q! F5 Z) s: C( ~$ m1 v6 J0 s- U/ J - delete submenu;
* l" J7 Y; g8 ^+ Y8 p3 F - }
6 W+ l* R+ r% g# R6 R
复制代码
2 M1 F4 K2 Q. m1 Z; k* H2 F( s
4 b/ f$ g" m) l+ r5 t9 S
# K0 S/ u: d2 b& Y" vNX二次开发treelist控件添加右键快捷菜单回调函数的简单例子4 Y' O! f' Y: r" V+ H- a
3 B9 p9 o$ B9 ~ p2 O, n这里大概的模拟了下 部件导航器的功能!
# k' J' B5 x% R+ u/ R1 N1 J# h; O; z0 G1 U
9 v8 E! I+ ^) ?3 P
NX二次开发treelist控件
9 C, B5 v) }7 \8 L4 d1 {8 ^# \0 R7 V- N# ]4 z5 \/ k
NX二次开发treelist控件
' n$ j! [5 |6 B9 s1 v* l
0 n7 d" V, R! H4 Y% O' b* B
NX二次开发treelist控件
% h2 Q8 t$ w9 R) m6 K T+ b
4 @4 p* x5 s2 m! N9 J- H4 w' h3 I$ V$ K1 ?1 Z3 G8 F5 ^7 g
|
|