|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- <p><div class="blockcode"><blockquote>
. v" u) [" r' O& i' M, r - ! X+ M( e( w8 ^
) v/ w4 A% N( Y, E( l. m- enum MenuID
# e. V) g0 c' d$ `6 R - {" h. F+ V. D" R: y8 y
- RemovetopNode = 0,) q8 a" W) c! E% o5 x( |
- DeleteNode,
7 b1 P0 {, K3 H$ Z1 X, ^$ Y# k - CheckedMenuItem,
( A8 `7 O" W9 a4 k1 P - DefaultMenuItem,
9 j3 p% ^/ h* _8 S6 n% }$ v - DialogLaunchMenuItem,
5 l! S5 D) V t - DisableMenuItem,
8 p; ~& n4 z9 b' F: p6 @. X2 }9 Y3 B - HiddenMenuItem,7 j4 a: @5 q+ w0 ~0 K
- IconMenuItem,
% s1 y( Y3 y ^+ \7 s; e9 [" A/ @1 h% q
9 W0 N# W' ]3 I2 B2 ~$ e- SubMenuItem1,# g- ~& h; K+ c: ?0 _6 L& l
- SubMenuItem2,$ w# C8 k; j- J. V- c4 e5 ~
- SubMenuItem3,1 K7 n) m$ ~4 X- ?
- SubMenuItem4,& s' N, B! h1 w1 \
& l1 |; Q9 A" F. m/ w8 u- historymenu,# i8 S0 y; m# h- Q' ^
- nohistorymenu,
# T0 H$ W4 Q/ N7 N8 @! u
5 f" ?% {% O3 e2 Y( n, m$ @- modelhistoryfilter,
i( E/ E: j1 j3 M9 j - filterSubMenuItem1,
2 ^5 g1 i0 O- D - filterSubMenuItem2,3 v) j' g; B; f* M2 Y
7 l- \/ J' a5 t: l4 a* ]- 2 {7 `, Q' e) e
- };0 Z4 S0 ]: @/ Q' |+ y
- void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID ); F! P+ u$ s/ o1 `8 V, S3 i
- {& c6 C4 L2 I; W4 h. t
- TreeListMenu *menu= tree->CreateMenu();# l$ [$ F" N3 }) D' s# c
- TreeListMenu *submenu = tree->CreateMenu();
G# W/ q% J4 f5 } - if(node==NULL)& D. a# h+ k, t
- {# K- `- ?3 }% U% }6 w" _
- menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");, e& @' L3 g; ?: t# P
- menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");; ^% w' g' y e0 D: X& K& Z
- menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");* \: |) c5 h) I3 A$ u, D+ t [" e
- menu->AddSeperator();/ x$ |+ y5 X: E5 _
- menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");' V( J' M$ K3 r+ q E$ I
- menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");
0 R& U: I! e: ^2 R& B: c+ l - menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");- X f$ w3 p' Y8 \4 L+ j z4 k- u
- menu->AddMenuItem(IconMenuItem,"IconMenuItem");' u7 z, t3 ~1 ]3 j+ s" \/ q7 ]
- # ?9 `4 k9 o! \6 I& U4 B
- menu->SetItemDefault(DefaultMenuItem,true);5 U% ]1 i' w" E% {" _1 M
- menu->SetItemChecked(CheckedMenuItem,true);
9 q& n1 u% }9 F8 R% q - menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);, a0 R6 M3 m3 y" m% A& L4 H
- menu->SetItemDisable(DisableMenuItem,true);
! C: ?9 {9 S0 f9 T! K( b- z - menu->SetItemHidden(HiddenMenuItem,true);
c0 W# {5 j6 Y& s' x. D - menu->SetItemIcon(IconMenuItem,"skeTCh");
, O! v2 |1 c6 {& Y8 I! [3 Q. Q - menu->SetItemText(RemovetopNode,"Remove Top Nodes");
7 D5 E3 D. ^: N& V( _
* z# F3 Z# t6 f8 }+ Y- // submenu
5 X7 o1 W- @* `5 H5 T% A - submenu->AddMenuItem( SubMenuItem1,"Model Views");5 A, O- N" [* Q- K' `' g8 |
- submenu->AddMenuItem( SubMenuItem2,"Cameras");9 f& l4 N- u" \: J5 P3 o( A
- submenu->AddMenuItem( SubMenuItem3,"Model History");
b d. R6 X; _& ` - submenu->AddMenuItem( SubMenuItem4,"History Model");
A6 \. c& f n1 Q* E
5 {8 k- z/ ?% ^6 b% U Q- menu->SetSubMenu(RemovetopNode,submenu);% b7 K9 M9 Y! l' l+ Z$ P( d
/ m; g \ n* q% D' L+ B6 j- }
& Z) R8 r; P9 S0 H: t - else- {4 B; @; S. G% ]' d. X
- {% p& Z/ ^* i! C: C( h/ g9 M3 h$ N
- if(node==modelhistoryNode)# {( ]; i( z9 p% _& P
7 e9 b% C0 A7 U# O9 d" h- {* Y9 G; l. Q1 {+ p
- menu->AddMenuItem(modelhistoryfilter,"Filter");% r$ B% x' j4 V6 g
- // submenu
6 ?' Q6 L5 b* M$ Q5 S - submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");8 D) h. `$ I1 P8 z: @ Y
- submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");, `" K! O# j' _/ u/ a
- menu->SetSubMenu(modelhistoryfilter,submenu);
: g$ C) ?" l U: a3 Y: V - }
; e- e3 O; J4 N9 j9 E - else if (node==historyModeNode)
! x) U8 m$ W2 U2 [6 f' d4 w0 A - {
0 {4 j1 y' k% [' }9 L( V/ S( H7 { - menu->AddMenuItem(historymenu,"History Mode");
- T8 [# @ f( @' p1 l% r# A4 v - menu->AddMenuItem(nohistorymenu,"History-Free Mode");
' X$ J8 b2 b+ U6 @ - menu->SetItemIcon(historymenu,"check");7 F+ G* A: V8 r9 `. Z+ r
- }
8 O& ]. m, {0 `6 Z1 N
. @8 z7 L" L+ D: d- }
7 K; {. g% w# z0 I
* E. B8 ^0 U" i7 L: {( w) c+ Q- tree_control0->SetMenu(menu); C }) t" l5 i1 Y& {6 a' ]1 G
- 9 a$ B8 \: U9 x8 ?# i9 M2 U
- delete menu;
! v7 }) o# S% |# Z6 Z - delete submenu;7 X R) c$ z# V) r! b% ^
- }
2 @& ^/ R* d) }8 b. S, v% E- g
复制代码
# a/ g+ N( B+ Q8 b! J B3 K# ?+ \0 z7 ]+ }( f& m G
. l/ h. v, [' A7 P2 C- ^NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子1 \0 P3 v3 B/ [0 g( A
# i+ P( T7 h* f2 q( y0 M这里大概的模拟了下 部件导航器的功能!# z1 d4 W/ A% F p! \* p
8 {6 _$ o1 F' w8 X0 w
# y) R( P' {" ]
NX二次开发treelist控件
: b6 C2 ]* D: `( p0 [
8 W- v, C# o7 ?% v$ y
NX二次开发treelist控件
( a3 b; ]- U5 ]+ ~
R0 d4 ?3 N6 h- C& ]
NX二次开发treelist控件
5 q9 U+ |- G, z7 k) n+ w2 v( @& I; p* X# J. \( F1 K1 \
8 q7 A9 K3 F7 h. j |
|