|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- <p><div class="blockcode"><blockquote>
e" m' d/ S4 N/ F$ Y: @ - & o6 A# ]1 M& Q
" s+ j/ I/ c5 O; m* [$ q- enum MenuID) t+ l2 o3 u! U$ a5 f9 O- ^
- {3 _" B+ K- W( j; K& `
- RemovetopNode = 0,; H$ E/ X2 s }8 @$ w8 H
- DeleteNode,( ^+ m' u" F5 i
- CheckedMenuItem," D) W+ p, f: ^
- DefaultMenuItem,
6 @! y6 G% L9 D0 W; g5 i% W - DialogLaunchMenuItem,' F+ v, ?3 o- e* R" |1 |2 J
- DisableMenuItem,
$ P* _2 f, `" g2 k$ K. K8 W - HiddenMenuItem,
: R& u9 i1 A! p) { G7 K* O( v - IconMenuItem,
* I! W- D5 F& w1 W. R* H
$ C6 k% }2 g: A- SubMenuItem1,/ a- b5 E, ^+ Y: x+ |4 ?
- SubMenuItem2,
) b0 \2 h2 q+ J% i/ m) K - SubMenuItem3,; p6 X3 G2 T7 V% {
- SubMenuItem4,. H. J/ e1 f4 f- K. I, S/ T
' i& S; ], d, u o& c9 O- historymenu,2 s, ]# @# C3 d$ ^ ?# s) h
- nohistorymenu,
$ P* d% W2 b) o' A% l8 j& B: c
( S. e+ v: f2 i2 \- modelhistoryfilter,
* `9 E4 o5 u' y. o1 C6 e - filterSubMenuItem1,
" D1 ]5 B a! B/ X7 t8 _ - filterSubMenuItem2,
- a' N4 ~0 Y9 z# K% x$ l
1 w" y% L7 R$ S- 7 M: x- O& v, [
- }; ] d7 @9 ^# H1 G8 U7 r
- void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
* p0 E( O* K5 N* G% u# I4 ] - {
5 O6 J1 |5 l9 A% m - TreeListMenu *menu= tree->CreateMenu();/ e2 h5 N R1 p W* \8 L, y
- TreeListMenu *submenu = tree->CreateMenu();. m- H# o x M* o$ Z
- if(node==NULL)
6 ^' I/ j1 b7 E4 j' U - {
) ?% R) Q0 m+ f- h0 H - menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");" L9 n, _( x( ~
- menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");8 Y% a: Q2 A1 p, a% b
- menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
8 ] W& c1 s& l$ y: U$ g" \ - menu->AddSeperator();
6 D8 @7 O+ k) T& T8 S) q - menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");9 s& s* ?0 ^+ r4 v5 S
- menu->AddMenuItem(DisableMenuItem,"DisableMenuItem"); T: D- Z" \; ]! s
- menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
, X$ a) j3 a( }" e - menu->AddMenuItem(IconMenuItem,"IconMenuItem");2 q! g& Q( N, F% u# q- T0 }8 `( f
' g, S# T. w: `! I9 O6 y' a- menu->SetItemDefault(DefaultMenuItem,true);* X2 R" T, {% l+ W j
- menu->SetItemChecked(CheckedMenuItem,true);
. a) f0 l( u& J& [: i$ Z* i9 A - menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
- r) a5 i# E* d- Q, Q - menu->SetItemDisable(DisableMenuItem,true);
) M0 F" C/ {7 G/ B - menu->SetItemHidden(HiddenMenuItem,true);
. d& l+ v* {/ Y! ~0 a5 c- U - menu->SetItemIcon(IconMenuItem,"skeTCh");. v# ?& U+ C7 \. [/ t3 y
- menu->SetItemText(RemovetopNode,"Remove Top Nodes");) s( u; e) h4 s; R& d
4 ~2 e& A5 m% {6 [# I" E/ x1 R- // submenu2 y i! D0 D9 k
- submenu->AddMenuItem( SubMenuItem1,"Model Views");0 k5 g. R8 P( J# { T+ j- B
- submenu->AddMenuItem( SubMenuItem2,"Cameras");0 N! M! w6 d3 x' W
- submenu->AddMenuItem( SubMenuItem3,"Model History");
5 X m& M9 s) P& q* D - submenu->AddMenuItem( SubMenuItem4,"History Model");9 ~; r5 d x3 G3 f
5 H, p" H/ S x) ~1 N! c- menu->SetSubMenu(RemovetopNode,submenu);
$ T- Y/ z/ E5 |
! V# B2 c3 X) s& C8 q7 V" m- }
# K" d5 A. l" |& | - else
0 j H' D# o6 a$ i' w* u. n - {
H( ?- |5 n8 f - if(node==modelhistoryNode): t, I( m" ^# z% ]6 Y
- : O6 L5 g3 ^ U9 b. @: G
- {
6 w0 x- v' a3 f' [, d - menu->AddMenuItem(modelhistoryfilter,"Filter");, c3 C7 g4 a& V
- // submenu5 T* g( k2 [& L) ^2 L, Z) H' R
- submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");: k& y9 _3 ?; W O7 y7 f
- submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");
. r, l# x6 b5 D# w4 ]6 ?+ V2 g0 H - menu->SetSubMenu(modelhistoryfilter,submenu);
/ P; J& Z+ Y- }# v( Z2 ~1 e ] - }0 O% I r/ E7 H6 L4 `4 ?
- else if (node==historyModeNode)
# P }8 F+ w9 T5 A - {
( C! O! U7 g+ T6 y6 a8 P2 \ - menu->AddMenuItem(historymenu,"History Mode");
8 A9 n8 E5 d+ _/ K1 P8 a/ X - menu->AddMenuItem(nohistorymenu,"History-Free Mode");( I! p2 Z: w% j- e) }) X0 o
- menu->SetItemIcon(historymenu,"check");
7 d r' G' e$ Z3 m: e6 e - }/ V$ b; o6 A. j u/ `, h% U
- ! _7 P4 R( N5 X8 L l+ U$ T
- }2 f$ I# C% b5 n" M, u
, H2 Z- i) W. e0 X- tree_control0->SetMenu(menu);3 R4 t4 v) Z( W: \, x$ V9 ?
- Q; g9 u2 B6 g, [$ w2 [9 j
- delete menu;5 B* p- L5 d. j1 s) N; O2 e7 W
- delete submenu;
( L+ Q4 `3 Y% V - }# v4 j- V( ]( ], c* f9 Y4 @6 w. M
复制代码 5 G; j$ ?$ q3 ], \# N9 b
4 O+ _+ e) u% S6 P% ]
: o/ T5 y% X3 p3 x' ENX二次开发treelist控件添加右键快捷菜单回调函数的简单例子
, a5 w& K6 }/ }7 \+ H/ B4 c. e9 R- z# i1 G( f
这里大概的模拟了下 部件导航器的功能!
; W. w" l, W8 S- Y: ~! X/ P* T* A& t F# t/ P5 ^/ Y! J4 {
+ u, }" B j4 w' p+ D3 R! n/ Z
NX二次开发treelist控件
0 }0 O: [6 a$ ~8 a! G% x: u
; w8 W) h2 Y/ `' K! B4 G& F
NX二次开发treelist控件
. V2 g+ x; l& d1 u1 L% D
9 L4 J4 ~- c- `9 t) {
NX二次开发treelist控件
* S; A' p9 R& i; o i
! K+ L3 Q( k9 ~& X/ t
. ^5 f8 W2 } l/ t; P' i2 @
|
|