|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- <p><div class="blockcode"><blockquote>
9 ?) W7 U: G* ~) e
, _4 a, k) V: G+ ]1 k- ; i2 M; ~) Z6 w3 [9 v8 Q
- enum MenuID" N/ Y& _& m6 |7 r; x
- {
- Q, Y! d' j5 T4 I - RemovetopNode = 0,- w, ^# A1 F2 L. |
- DeleteNode,
, c9 z4 A$ I, ^! c- S/ O/ l" w - CheckedMenuItem,
/ v" Y9 T U d+ g2 A - DefaultMenuItem,6 l0 U( i9 Y4 w6 F# ?3 Y
- DialogLaunchMenuItem,
7 }. X4 W3 t# `2 T - DisableMenuItem,
2 `* W- X% Y# u8 E" y9 Q/ e - HiddenMenuItem,# u5 ^3 q; U" Y0 N6 e
- IconMenuItem,( J, [$ A" o* j4 `
- ' T5 V; P0 ]9 V2 ]
- SubMenuItem1,
' q1 r: m6 f, M - SubMenuItem2,. K( l6 p: B4 x
- SubMenuItem3,
% y+ F; w' H& E. T6 h9 S - SubMenuItem4,
4 x- F. l! s& w" E: J5 S1 R. N6 R
8 t- c q3 ^6 y- historymenu,
T, Z) f9 k! S' k - nohistorymenu,
7 S4 l2 c$ E- o5 s3 p
. Q1 l# o( X: \; c N5 K9 a- modelhistoryfilter,. X& r; w) ~8 o6 d2 j6 a5 W
- filterSubMenuItem1,1 r8 Y8 U/ K0 ?0 h6 O+ o9 G" y. \
- filterSubMenuItem2,
: ]9 K5 @# K+ v3 N" m: y! ~/ v
% O3 s) g s3 i0 J3 n V% j# [ C- ; f3 j7 c0 ?$ Z, @7 \& ^
- };
4 I5 I( y z# [, R+ Q2 v - void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )2 m3 ]) J& ]# Z+ e8 s
- {
) C o* ~0 j3 P$ e3 J$ ^/ r" x7 x - TreeListMenu *menu= tree->CreateMenu(); Y* Y* f' a( h
- TreeListMenu *submenu = tree->CreateMenu();6 o, H* e! _9 E8 d1 n
- if(node==NULL)
/ f7 {" c2 q' T2 M- h - {
- y; ]% ~; z) E8 H1 e8 T2 y- d - menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");; Z3 V v1 f/ F2 q0 \8 ]+ M
- menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
, E3 i/ l% ~8 w7 F* N# O- P - menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
2 |' b/ h9 B* d* x - menu->AddSeperator();% a# z" |2 a: j; P" B1 p: D
- menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");. k: t" x3 k. p
- menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");5 ]8 s6 D& \* T/ q' \$ E1 z
- menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
4 ~* Z9 d; ^8 V" j& c$ Y8 i" [ - menu->AddMenuItem(IconMenuItem,"IconMenuItem");" [% L" K1 Q4 A: A( |
; @* h9 F) I2 V/ _- menu->SetItemDefault(DefaultMenuItem,true);# R% e9 @. j4 u+ C. e
- menu->SetItemChecked(CheckedMenuItem,true);) r; F6 i; S" W
- menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);- p: R. g! y K/ i
- menu->SetItemDisable(DisableMenuItem,true);
* V7 A& z- H% m: d5 j; W - menu->SetItemHidden(HiddenMenuItem,true);
; Y/ t) \& l! |7 K2 D% F( i - menu->SetItemIcon(IconMenuItem,"skeTCh");
! V) w# ~* {+ J( b - menu->SetItemText(RemovetopNode,"Remove Top Nodes");
3 R& a/ D9 P; I$ C4 ^3 \ - " X9 E) B- U0 |1 S, [. l
- // submenu
! b& \% ~: W; |0 l! s3 i - submenu->AddMenuItem( SubMenuItem1,"Model Views");% U5 s" W+ l2 a# \& y: w$ e
- submenu->AddMenuItem( SubMenuItem2,"Cameras");2 k/ M* _4 T" M6 ?) b
- submenu->AddMenuItem( SubMenuItem3,"Model History");# j! Z0 i" }$ q$ G. q- t
- submenu->AddMenuItem( SubMenuItem4,"History Model");
( N- K7 m2 E, @ - ( @# Q+ j+ X% z1 E6 j
- menu->SetSubMenu(RemovetopNode,submenu);8 ?% T- d* T" t( D! i
3 }& b# y4 O; D- }0 m4 ?! N$ D0 D
- else1 o8 N0 U4 T' h$ b" r
- {" a' |- E% b( ]/ F
- if(node==modelhistoryNode): I! l; Z0 m, _1 l- n" q" h5 V
- |8 z" J$ B& ^1 N# |& @2 N
- {
; s9 {2 Z: {; j$ I% ^! C - menu->AddMenuItem(modelhistoryfilter,"Filter");
# h; Z! P' A6 ^* x5 v$ E7 k5 T - // submenu6 @' P9 G/ u+ i
- submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");
+ t( X' `! d! w1 x( s" C, Q - submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");- q7 [; _9 c5 ~# T
- menu->SetSubMenu(modelhistoryfilter,submenu);
! o( w. ]9 U6 O1 G - }2 Q9 _" ~% \% Y/ O# s! ]
- else if (node==historyModeNode) H$ f2 V6 n9 Q/ ]
- {$ V! c$ k/ Z: h7 V6 E
- menu->AddMenuItem(historymenu,"History Mode");
( A* ]) h; V* l3 @5 P( N - menu->AddMenuItem(nohistorymenu,"History-Free Mode");* [0 F. [; `+ I9 b6 }- t
- menu->SetItemIcon(historymenu,"check");) I) M$ ?* Q& @. j
- }) \/ s8 x* k% k( x7 r5 G+ A. ~2 t
- + _ u3 G. {! G6 J, Y
- }& A% D( @2 H% s' C* U: w* }
- 5 p; y7 `& a4 ?
- tree_control0->SetMenu(menu);
# G8 F) Q$ J& X$ W- X, K/ h/ x
2 d. }$ ~% G" U4 _- delete menu;! E4 _% M2 a9 g' p" C5 I6 `% r5 `
- delete submenu;
$ Q4 B7 U2 d8 R* e+ k - }9 N+ }" I% I3 Q6 R# i% h! B
复制代码
j/ x4 M1 @' t" z2 l* J/ K+ W2 | Z/ ]# v7 J
' r' ?/ B5 |0 ?8 q) Z2 t. j Y
NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子; G; _, I6 y! L1 C- u6 D, r& h
% a: e1 U8 X8 p
这里大概的模拟了下 部件导航器的功能!
( T+ K9 a1 ]# D, D: h: T% j; u* K! v9 G1 V- w- N. B
7 ?- f! ~* l, t6 f: R& V4 |0 a
NX二次开发treelist控件
$ U: ~" d9 `# Y" D
6 x* c, B) Z6 s+ V' F; }
NX二次开发treelist控件
! {: Q3 r& q8 Y( i
8 c; b1 G( t" S/ H/ B- @
NX二次开发treelist控件
8 G" k# k* {9 g. f1 }$ T+ D7 t* Q0 ]" E7 Y9 r( Q& M
9 \; h, }. E, V% w+ m |
|