PLM之家PLMHome-工业软件践行者

[二次开发源码] NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子

[复制链接]

2014-2-12 19:10:15 5573 0

admin 发表于 2014-2-12 19:10:15 |阅读模式

admin 楼主

2014-2-12 19:10:15

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
  1. <p><div class="blockcode"><blockquote>
    9 y8 @# V' r8 W$ v3 |# n+ J

  2. 3 T' E3 a& T: d& b1 n; Q, ]
  3. 0 N+ _* ]  H: a# f
  4. enum MenuID- e, G1 E! b1 t8 G
  5. {9 A6 o5 L! P" i; J5 [7 Q/ W
  6. RemovetopNode = 0,3 c- o9 X8 M& [" Y6 P( H4 `  n
  7. DeleteNode,
    . ^' ~/ I4 R# Z) B: N. |: x
  8. CheckedMenuItem,) J+ Y2 x7 z+ B+ d7 H" o2 O! \
  9. DefaultMenuItem,3 J2 I3 A+ x& V
  10. DialogLaunchMenuItem,
    9 z5 P6 l+ g2 A# k
  11. DisableMenuItem,- G. d, b3 V/ r/ k' j5 Q: D
  12. HiddenMenuItem,( U% Q* g7 @* _/ E! H7 q
  13. IconMenuItem,' u: w: ~# |5 z% p

  14. 4 I5 V4 v/ m- L2 @  r
  15. SubMenuItem1,
    ' \& h1 Z/ [9 p2 \0 x, u, h
  16. SubMenuItem2,0 ~: L  h0 C6 f
  17. SubMenuItem3,* t* o# ?' D, h3 ~6 v  |
  18. SubMenuItem4,/ A: V- F' i/ H- q; E3 M

  19. 0 l3 y- b" l, i+ b6 ^( n2 X) p
  20.         historymenu,2 v, [- m& g/ J
  21.         nohistorymenu,
    # l8 t4 R% Q: Q" w

  22. 0 i( ^9 O6 K/ |; r% N
  23.         modelhistoryfilter,; O; G$ U/ p5 ]) X
  24.         filterSubMenuItem1,5 i5 i8 q. C7 `
  25.         filterSubMenuItem2,
      O! x( c% a" K8 I

  26. # M1 g0 h/ M9 |) }: l% L
  27. : B; c5 ?3 I3 ^2 s, M5 B" f
  28. };; t* C7 C0 V9 j2 i. p9 q1 R3 t1 P
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )6 ?: s1 v# {% A5 }
  30. {
      V0 S1 |+ [/ e8 R3 E+ W0 y# K
  31.         TreeListMenu *menu= tree->CreateMenu();# q8 k% y8 m" q! I, S
  32.         TreeListMenu *submenu = tree->CreateMenu();
    % @6 t) g9 S: _! f9 m. D( A
  33.         if(node==NULL): b7 `1 v' Y& D& U$ B) i
  34.         {" l' R2 b7 z1 @
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");% J# q9 H- `% X# [& m" }. Z
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");; M% ^4 s; y4 t' N" `2 V  d1 G0 _
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
    7 S: k4 D; z6 S& n
  38.         menu->AddSeperator();# E' b2 `8 w3 D
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");
    & V5 M- W, J5 x2 E
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");
    , q; ^. i+ I! j) o; t
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");2 m1 a# P  c! f8 C+ e8 }" c
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");
    - K0 z2 @; b1 Q* }

  43. * _$ m4 y' [8 `, F
  44.         menu->SetItemDefault(DefaultMenuItem,true);% H6 U% G! ?; p  p/ v
  45.         menu->SetItemChecked(CheckedMenuItem,true);
    6 X* G) J9 j( H# \" U! K- H
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
    + I: e/ O8 R0 d% w8 _
  47.         menu->SetItemDisable(DisableMenuItem,true);
    % @& ~2 M$ o( B) p/ m1 |  H
  48.         menu->SetItemHidden(HiddenMenuItem,true);+ X; D4 ?' P0 {
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");8 r( T' T3 {7 o2 k4 a
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");" a! C% U  y0 `/ K/ z+ s4 b* t/ \

  51. / G; d% G- v# ~# A& G5 Q3 q
  52.         // submenu" R8 d4 \8 U* N
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");. Q% p( z! a2 P2 y  M- q7 f6 }; {
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");
    6 L  @/ J$ z2 K" l( A. E
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");
    / h( X  t; I2 F  C
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");
    ( l; G7 n4 F, F* {3 o: R
  57. # `2 E! @7 T, g' V2 L* f3 C
  58.         menu->SetSubMenu(RemovetopNode,submenu);
    - Z( U0 w* X7 L5 t5 l

  59. % r) q, u0 [* o; l  Q( ]
  60.         }
    3 T& S% n! a7 C* a% K
  61. else
    : e5 c! F  k% n6 q- Z: h3 j
  62.         {8 X7 h; V# P; H5 m  P
  63.         if(node==modelhistoryNode)" z+ x3 ]5 O4 `0 q$ c+ ^' P

  64. ) g+ u3 D6 O" U' y2 t$ M
  65.         {" `1 k) L6 V' D) D$ F# k! p
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");
    " T2 e+ B/ s+ p$ a: g2 l- ~+ f
  67.         // submenu
    : W6 \+ c; \; |5 V* h5 {5 s
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");
    $ C: R: A) C6 M9 K) |
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");  `7 ?( w7 l* f9 j2 D+ Q3 F$ D
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);
    ( N3 j( Z9 n+ x
  71.         }( f5 F0 b9 w+ ?6 E6 J% x
  72.         else if (node==historyModeNode)2 H3 \6 v2 G9 ^# @
  73.         {1 W" a( p' q2 K, r. k0 E
  74.         menu->AddMenuItem(historymenu,"History Mode");' n+ v; d* W8 E$ Y
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");
    ; T- e: k6 c+ f
  76.         menu->SetItemIcon(historymenu,"check");- B: L' @8 m9 \8 V1 q
  77. }6 V5 x9 V, O# m) d( W( V- T4 q
  78. 0 B( O; V- B( }. ~
  79.         }+ I9 [  h0 H3 Z# e$ L) |1 E; S% L- t
  80. ; _+ j! M: D* W. n# o4 \$ g
  81.         tree_control0->SetMenu(menu);
    1 P& v0 D: j* }; B+ m& Y9 F
  82. % A" _6 \' Y2 a+ H! r1 a  |' W: K
  83.         delete menu;4 m: E2 ?2 H2 x) `; u; ]
  84.         delete submenu;- Q# x7 }5 r7 Z
  85. }% g9 s5 V4 q+ D# x
复制代码
* {% R. n, D. W8 t
3 S) K) u& f# q  G2 Z7 |1 C" E
% g. [( _; y+ M9 B' x! r
NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子
/ F! W' ]1 l  u' w! }3 X9 L' p! [6 F( f. ]: S
这里大概的模拟了下 部件导航器的功能!# K/ ^0 d6 {) `4 t
0 }* ]+ T0 h, x) R) g
" s+ O  x! F& D- {

NX二次开发treelist控件

NX二次开发treelist控件
( n# I1 _! |: k: T1 N2 {3 r" |
' H7 x) T/ d2 b' O$ n* W$ |" Y' I6 v: R

NX二次开发treelist控件

NX二次开发treelist控件

: _- e. A7 M/ [* N8 Z& F& `8 H  b$ g5 w

NX二次开发treelist控件

NX二次开发treelist控件
4 m/ Q) a, y  I5 o1 \
$ i. d" t' Q( G) G, P

- a, @  g8 j; I4 m4 x$ `9 Z4 Y
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了