|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- <p><div class="blockcode"><blockquote>
1 o+ n$ M- r+ S
5 E) M) m5 w+ t! Z- / p8 p8 S1 o& ]# A
- enum MenuID# {6 E6 N/ x. R' e! Z7 v8 b
- {3 o' ~. e4 K5 s' e( ]/ v/ s
- RemovetopNode = 0,6 ?5 W0 W7 @' e; G6 I; s; Y$ ^1 N3 Y
- DeleteNode,% L7 W6 l) J& A9 S2 D) x
- CheckedMenuItem,5 P1 }# W# G! x8 a. G
- DefaultMenuItem,6 b+ c( W8 i& z' Z" C
- DialogLaunchMenuItem,
# _; Q( n% E% p! u5 ~% Z4 M3 K - DisableMenuItem,/ @5 H% [2 k5 ]1 M. G2 t: {
- HiddenMenuItem,( |, c7 p: \% k1 K' P5 W" h
- IconMenuItem,
T; R; O6 K: {- Q: G - ( o) [3 r" R" n- n C" M: Y8 j
- SubMenuItem1,' @9 t' Z( Z; i4 y
- SubMenuItem2,
& {8 K0 B7 f, C' Y# O% ~ - SubMenuItem3,6 p+ S/ C9 `/ w5 H" _: J' Q3 S
- SubMenuItem4,
3 ]* H2 a" @- h H* G& U - & c8 i- Y3 E) i4 E3 E B k
- historymenu,
( V" q5 w: P4 J- G - nohistorymenu,& }1 M8 h' U# f" u
0 c/ v* w$ m; E: N9 U$ w" w- modelhistoryfilter,
, R# `3 V; K- t5 I; Q% W5 a7 M - filterSubMenuItem1,
# r/ K1 D( P4 E u; p: c - filterSubMenuItem2," h7 p2 a2 w7 O1 v
- / H0 w! r1 }. e% q) V
- " n8 R) q, i! m1 M' @* Z8 E; O
- };
1 s1 Z/ t* i! }$ U; [ - void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )/ {7 W1 d+ t! e& v
- {& K$ B+ a' {& S1 e0 {2 P
- TreeListMenu *menu= tree->CreateMenu();' v* Z6 E9 V X: X2 s. X
- TreeListMenu *submenu = tree->CreateMenu();9 K. K; t9 m m6 X
- if(node==NULL); `9 k9 i( i3 B6 d7 N8 Q
- {
6 z' b5 L: K& o2 \+ [. `" w9 n9 ] - menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");
5 U: g) L8 P! e! b+ o2 Q- g! I - menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");) H% U) P3 h; r( {* K; y: v0 K4 E. P
- menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");8 I- i- |( h: T( P( u+ R7 N4 k
- menu->AddSeperator();
- e2 f! B1 [$ M - menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");5 g& k, c$ B7 ~' I0 r. U0 D5 T2 S
- menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");& D$ J$ C4 ]: t8 W' ~4 I
- menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
: z5 R; D& w; r/ r. }9 e" d W. E - menu->AddMenuItem(IconMenuItem,"IconMenuItem");( Q+ f. |$ h9 j6 j$ {& Z8 e4 g
+ E4 Q2 p- I+ j' U2 h V# V( p- menu->SetItemDefault(DefaultMenuItem,true);$ f, N7 l; _9 h( D, ~6 H8 S& H
- menu->SetItemChecked(CheckedMenuItem,true);* K& Y9 g) G7 d3 a) N
- menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);- B( L8 w/ O$ V6 x
- menu->SetItemDisable(DisableMenuItem,true);2 t& R$ L5 f0 y% Y3 a4 @ ]
- menu->SetItemHidden(HiddenMenuItem,true);& A* u! q5 y$ U
- menu->SetItemIcon(IconMenuItem,"skeTCh");
- K6 x& x$ A+ ~% U q+ d - menu->SetItemText(RemovetopNode,"Remove Top Nodes");! P, G3 n3 ^* t" I" R
" r$ q. D6 |" l! Q0 d [- // submenu& I* q) {" v. [, D- Y( _" V: H8 `
- submenu->AddMenuItem( SubMenuItem1,"Model Views");
4 [, G" y1 {4 g% g% s - submenu->AddMenuItem( SubMenuItem2,"Cameras");# y+ R: i* K( G, s0 U3 t3 `$ A
- submenu->AddMenuItem( SubMenuItem3,"Model History");
I' f. a2 q1 Q - submenu->AddMenuItem( SubMenuItem4,"History Model");
: d& h, U( T0 b/ h0 x$ W - " p k) v8 k( y$ w, a/ {/ j. X% v
- menu->SetSubMenu(RemovetopNode,submenu);
* P# d3 _$ z, n5 o
# I& ^7 p3 C3 r" C- }
" | m9 W# M, |0 r - else
# |( Y. _9 x0 N3 l - {. j2 r6 g. V6 u6 d+ | F7 i
- if(node==modelhistoryNode)$ i7 R+ y5 M; j( E9 a
- 0 Z9 y% T5 R" q. k8 ~; f/ O
- {2 P( X5 x! K ^! \/ F# H n
- menu->AddMenuItem(modelhistoryfilter,"Filter");3 ]6 ?9 z: j' @9 l q- M; c& V( |
- // submenu
8 H) G1 J0 z6 x: ] s- Y0 b* t! i - submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");
$ E+ J" z, h' |% @7 p F& | D - submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");
+ z6 Q4 _% ^8 F( A7 C+ Q6 c - menu->SetSubMenu(modelhistoryfilter,submenu);
3 a3 \3 R* b! f+ l - }
' x/ ^! r$ n2 H7 }1 P - else if (node==historyModeNode)
8 z( c3 z V" _% c" z7 Y3 z. U - {
/ u; h* z7 H8 L* R9 G - menu->AddMenuItem(historymenu,"History Mode");
; V: Q; e P+ p+ G6 V P3 K0 r+ n - menu->AddMenuItem(nohistorymenu,"History-Free Mode");" N% r# `8 D4 C! u. S) r- y
- menu->SetItemIcon(historymenu,"check");
& H# x" `7 Y" Q. v: } - }+ Q! V: M* w! S+ l- B
% w/ z% {$ L& Z+ U- }
8 @2 J8 S( V5 I, J) L% m& p7 e - ( z# s" H' ]3 [0 C" A
- tree_control0->SetMenu(menu);
! l" p! z8 O8 B5 E: h6 F
- D7 Q7 H/ l2 | X t# u" H- delete menu;
5 f7 B) K$ `: {/ F( ~, w! l - delete submenu;* \& @$ p' G7 w" G- ]9 M. m
- }/ ^2 S9 ?/ k/ v1 \) F4 u$ t+ l
复制代码 ( b" L2 S- A% l5 A( T4 D
7 x! w+ k0 S$ r6 ?. B2 Q0 c+ }" X2 g, j7 X( x `& j; B
NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子6 Q" T+ @) s; Z. [8 [) V: B9 H
' \' c. s! u- h+ j: r( d( O* R4 {这里大概的模拟了下 部件导航器的功能!
, D4 i! l3 \& e0 W
1 N3 d5 ]* ^* [/ j/ P5 K" B* ^2 _/ ]" \# y3 H" [3 V
NX二次开发treelist控件
1 E+ E D- _6 G7 | j# S8 @' r4 }6 C8 ?; y k
NX二次开发treelist控件
: v5 j7 V8 d5 x$ u' N* G' z$ D
9 I. k3 a& x4 \# @3 Q
NX二次开发treelist控件
4 Y) e. m: X" d: `9 I0 O
2 L2 J3 p6 g' k: m# K7 O0 X7 P! _2 N- ?. _4 j& d7 k+ o' s
|
|