|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- <p><div class="blockcode"><blockquote>0 B* Z* `, b, g) m# Z
- 9 b! D2 {, v4 M4 m8 p# \$ G+ n
- s6 h% P3 d2 d( p8 I b
- enum MenuID
, O# ?0 U6 T1 Y* A) Z9 c6 q- T" ~ - {
+ V7 `' I8 C3 x' n1 V, m3 E - RemovetopNode = 0,' E; x& N- H( I4 Y) O- w- ^
- DeleteNode,6 {( m1 [) o, V. M# {) O" a
- CheckedMenuItem,3 P( N ~4 N* ?. S3 G) ~5 P: i! R
- DefaultMenuItem,2 ]/ |" ]( B5 w" G7 T
- DialogLaunchMenuItem,
9 C2 c! h, e; ] - DisableMenuItem,
% x+ T7 f' x) `1 J - HiddenMenuItem,
# r2 ?" a( \+ G - IconMenuItem,8 @. O% l) i+ s0 j7 ]- A5 a
- 8 o4 H n9 Q( c6 r: k
- SubMenuItem1,, ~; w3 n) j4 w6 Z% Q
- SubMenuItem2,
" Y4 P5 I: J! b, P$ F - SubMenuItem3,
* U3 c- `3 }4 O5 \8 d" ^ - SubMenuItem4,
8 q) w3 N; ?& Q' e: b8 K" r) {# B - ; t' L5 S! j5 a! I0 t, t# l _
- historymenu,
( D- m, O! J" v% C6 ^6 Q - nohistorymenu,
0 ]6 T+ y7 [& c* ~9 F* t! y
3 u% D. z4 G: b2 T5 I/ g, G# ?- modelhistoryfilter,
3 ]! }, H2 j" n$ z n - filterSubMenuItem1,! V5 M: H4 N$ X2 t% x0 f/ h$ v
- filterSubMenuItem2,, Q3 G7 F9 n; u& Q+ f
- 1 q D; c' y, N/ w& O2 c
3 @, S* f0 m0 s" @- };
/ i: s2 l r% B5 [" L9 O. m - void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
: ~9 R" B+ x3 z4 m9 ^( }3 l2 z; u+ Q - {
, H5 Z. q' I* j: R, n/ ` - TreeListMenu *menu= tree->CreateMenu();
! e2 M n: E e" Q5 x# C9 h - TreeListMenu *submenu = tree->CreateMenu();7 ^3 h' s4 I: F# t
- if(node==NULL)
/ D( X* o! n6 [! o$ I b$ d( O - {5 |' T4 A4 ^( A5 ^. _: H. l+ W
- menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");
: Z, X) s4 F4 _( [2 A - menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
( D$ `5 m- e5 j- D8 m - menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
# j# K0 i8 D8 Z2 d - menu->AddSeperator();
' t" b+ _! s, g; n* J - menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");, Y* h1 Z% Y5 r3 b1 W8 H
- menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");8 h2 A2 Z) x8 }) v3 F; Q! g9 I7 U
- menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
) L, t* e, i1 a- @ - menu->AddMenuItem(IconMenuItem,"IconMenuItem");
3 I- r) o, \, _; e* L* t: M - , ~3 C7 C% N8 J7 h# M( h
- menu->SetItemDefault(DefaultMenuItem,true);
5 e: Q& H; z T - menu->SetItemChecked(CheckedMenuItem,true);' E+ e7 R, g' `/ {$ e
- menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);& q. ?8 e+ T( a0 \7 X& i; l* K
- menu->SetItemDisable(DisableMenuItem,true);
' T- s6 h% G$ m8 V, u' C* d& S* c" X - menu->SetItemHidden(HiddenMenuItem,true);+ I/ P% u& I: H+ B' V/ {
- menu->SetItemIcon(IconMenuItem,"skeTCh");
& i% _5 v' B/ Q1 ~- `5 H - menu->SetItemText(RemovetopNode,"Remove Top Nodes");. M+ b+ }, V# G e; V9 P
6 H. v; S( r! M. I; i- // submenu+ c/ |! c8 {$ Q1 a% I, t. a
- submenu->AddMenuItem( SubMenuItem1,"Model Views");
/ z( Z1 ~. \. M. E* J - submenu->AddMenuItem( SubMenuItem2,"Cameras");9 E' g) `" B$ w, S1 F0 T
- submenu->AddMenuItem( SubMenuItem3,"Model History");
/ `& _( H* D) x3 { - submenu->AddMenuItem( SubMenuItem4,"History Model");
: \' v$ [: ]5 G% y0 A% N - 8 _% C. B5 ]8 }+ j
- menu->SetSubMenu(RemovetopNode,submenu);0 | L0 N$ F4 q/ @ z
- " U( h7 @% p5 K7 d: P* p/ ~* p
- }
$ l$ c) o: {0 Z/ ~ - else
2 `* W6 S& G, [6 g+ i - {$ {, Y r+ e6 v0 d5 N \
- if(node==modelhistoryNode)
& h5 N' F; a, b+ K0 l+ T- ~ - ) D" S7 x7 [! G, K4 b% U
- {3 R, R6 \+ o4 R
- menu->AddMenuItem(modelhistoryfilter,"Filter");
! ]( z( H8 S0 w# o - // submenu
9 e' x1 F9 N# ?" x, |0 l - submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");+ }4 _9 [. D# Q; n& F7 v2 X9 m
- submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");! W+ ^4 y% I' L9 s. ~$ l* |
- menu->SetSubMenu(modelhistoryfilter,submenu);
7 D" n+ ?3 y' p* I. C( k' y - }
5 @ R# P, W; a+ K- O3 Q - else if (node==historyModeNode)8 h( D q3 {4 \% Q3 x! e7 Q
- {
: c9 c( U8 _$ y. a" X) H - menu->AddMenuItem(historymenu,"History Mode");
0 ^+ z2 z s/ s" M - menu->AddMenuItem(nohistorymenu,"History-Free Mode");0 T5 j( B) t: [; y
- menu->SetItemIcon(historymenu,"check");
/ l3 M1 l& ?. ?' U - }
! T6 }; p- Y) N$ r' B: U
1 m4 u- ~) H2 M1 f8 [- }( M* Y8 D' P* S7 Z- X
, M4 V# s: ~7 Z- tree_control0->SetMenu(menu);4 U0 `; V3 Q2 b) m9 W5 k/ m) ^
* Q4 o1 u7 P j# T0 L5 K* B- delete menu;
' k, {2 w+ X+ { - delete submenu;4 g9 L. D/ M3 b, @
- }
8 u8 u6 S( Y6 o9 E& j1 t0 z: O
复制代码 , W6 D& A7 M2 b# j- _
1 k7 I: I. w% i2 F/ ]2 ^
2 b; I. L& W& @# D) h2 d- |
NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子& }; p# e9 d' }) G+ |. e& A( X
2 K7 u7 s3 a& C! s
这里大概的模拟了下 部件导航器的功能!
+ A4 I( r7 R1 C5 Z( ]
! }$ O% N$ |$ @- h* a9 i- x( ?- V5 N$ g* l* c( Q$ o
NX二次开发treelist控件
1 e# Q/ n' A2 g7 K
7 O/ n7 D5 K- `( X. v
NX二次开发treelist控件
# V- f& S- t; _* t$ Z% P
4 X2 x, Y+ P# _: _
NX二次开发treelist控件
9 E3 J& S' Z0 P- w8 _
# V* p7 M7 [7 H; w, E, W1 H/ D# i' h. K6 h. C
|
|