PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2014-2-12 19:10:15

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

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

x
  1. <p><div class="blockcode"><blockquote>
    1 i1 h3 l: p1 ^4 u1 [! I8 W

  2. 6 `/ |+ @/ }) Y7 \4 a% i! `

  3. 7 V  q+ m! E1 g6 h( K8 Y
  4. enum MenuID! y& O5 }% y8 v* R+ x+ M. k2 w$ }
  5. {
    ' R! F/ h+ ]5 o3 F. |% j
  6. RemovetopNode = 0,
    1 I& D" F) H- H2 `& R% d$ y
  7. DeleteNode,. T/ F7 W' }# ?6 u
  8. CheckedMenuItem,
    7 D) h& k# X" t. d1 q
  9. DefaultMenuItem,5 K$ \7 N1 ~1 X$ k2 Y. P
  10. DialogLaunchMenuItem,  `4 J! i9 |# ~4 t9 ]+ |, t3 z  h
  11. DisableMenuItem,# ~) a( A) O* ?& {# X
  12. HiddenMenuItem,( M4 ^) S. ]/ X" Z# I) |# t& j  m
  13. IconMenuItem,
    ' f/ j% x2 x5 t: S# C+ d) D$ d

  14. 1 @- q8 A1 S; y8 H3 R5 }0 Y$ b
  15. SubMenuItem1,
    4 D" T. C# h. W: B' ]
  16. SubMenuItem2,
    6 u. g" p: y8 R! \9 K( k
  17. SubMenuItem3,* r4 i$ h6 H: b! L2 w" [2 s% ]3 p
  18. SubMenuItem4,4 |, B& ?/ g8 G, }& ]- i
  19.   t0 ]3 g4 D+ g5 I3 z2 G4 E8 V. M
  20.         historymenu,
    # m7 j  B8 s1 R2 w0 `! C/ E
  21.         nohistorymenu,
    . `( I! I1 S, R
  22. . D% p% D# k4 A3 O3 P( y
  23.         modelhistoryfilter,! o0 c- y+ e$ a5 x) s/ P; s
  24.         filterSubMenuItem1,  ]+ _8 O7 o& t7 B- `# [$ e
  25.         filterSubMenuItem2,
    # S6 q3 u8 H9 d+ B2 l' Q
  26. - y3 x/ c+ h( }! w1 R& Q

  27. : F' n/ _& d  s6 r) w- ?  N
  28. };
    * E1 D* A% k7 s% y+ [! j
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
    7 g6 D- X, H: j7 d1 g, U
  30. {
    2 _8 A- }$ S& X0 B1 v$ j/ }
  31.         TreeListMenu *menu= tree->CreateMenu();
    4 D3 b; B% t" s
  32.         TreeListMenu *submenu = tree->CreateMenu();
    6 ~/ L* w  I, a, B
  33.         if(node==NULL)
    ' e. W0 x, ?7 U0 E! |/ U5 G
  34.         {0 B" i, [$ C; P7 |5 u
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");4 D# p& [4 P- S" ^( @+ n5 j) d( k
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
    . E8 Z8 K% a2 |( }6 E% _
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");) ^5 q3 E; E' i/ ]3 m
  38.         menu->AddSeperator();  G* m& q& c$ ^7 e
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");) \$ d2 a+ d9 h
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");
    5 _' V, d( t5 A' A7 w1 v
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");4 |) l3 l1 Q4 |9 [9 _( S
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");
    1 S+ h# m. y3 {8 M0 I$ S7 G

  43. 2 u, E) I" }7 t7 t& K& T- x
  44.         menu->SetItemDefault(DefaultMenuItem,true);0 N8 t+ k* @- C7 i
  45.         menu->SetItemChecked(CheckedMenuItem,true);8 K0 O- u& z- y) ?/ T+ g
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);8 Y0 C; V1 c2 r' e
  47.         menu->SetItemDisable(DisableMenuItem,true);
    9 c+ n$ [; B1 N4 {! f
  48.         menu->SetItemHidden(HiddenMenuItem,true);
    1 w0 @' G8 j4 \4 M& |7 A- b
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");* m) j5 d( x3 m. S
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");( M; n! C$ h5 d3 _
  51. - _2 S  l  t( S( y  W2 C
  52.         // submenu
    " d: D. x3 S9 |% v
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");
    ' S1 V4 C# S: c$ }) I" C
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");
      ^4 l" f$ H& n# Y
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");
    ' c* w1 A+ L: i/ ]
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");3 ^+ t1 o$ }' ]( K/ W

  57. " v+ o1 q% O5 _. E6 g# o# G
  58.         menu->SetSubMenu(RemovetopNode,submenu);1 Y' t$ k) a' q$ v- |! B

  59. : I8 s" ~; V; J( s
  60.         }
    3 p/ L* @& k2 C9 B- Z3 C
  61. else5 q( H8 L/ d  {  f8 g8 W' a
  62.         {0 w4 @( {' n: v, d( G7 _
  63.         if(node==modelhistoryNode)
    ; J2 b% h; J2 e; [9 C

  64. 7 L# p# w2 T5 x8 N: v
  65.         {
    3 M: }) d' T: _1 V. Q2 Y& ~
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");
    ( I1 I3 i% C2 F' C3 R  E
  67.         // submenu
    , Y9 ?5 A' v1 D8 g1 B2 f7 b
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");4 D3 {' n3 k* I! I' d9 W: I1 Q
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");
    . `9 {4 \! ?/ R- h, S: h2 ~
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);& \1 u+ x. I8 K) }* \' ~# Z
  71.         }
    3 V6 b$ w: s. s) K
  72.         else if (node==historyModeNode)' v! l; L6 j  ]0 g/ k1 d+ X
  73.         {- G5 u1 P+ [" y' W) V
  74.         menu->AddMenuItem(historymenu,"History Mode");$ T8 Q2 {9 ?/ h+ Q
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");- ~" X  |: a* L8 s4 ~# i) M
  76.         menu->SetItemIcon(historymenu,"check");
    : [; o: [4 m/ I0 R$ N) q$ D
  77. }
    5 x8 U$ k4 \5 K( \; @8 _

  78. . S( [9 f5 ]; o* x: z) K
  79.         }
    " `% Q- z$ g+ p+ u5 g
  80. 4 I. A# I; I7 e0 c
  81.         tree_control0->SetMenu(menu);
    * i7 j- H: l2 [$ j0 c. q+ ?# e

  82. % |+ u5 V" [: q
  83.         delete menu;
    % L$ ]: j) H3 N+ p9 ]; B: D: ^( H
  84.         delete submenu;
    5 Z/ J/ X2 H. g! U" y( `; I- b
  85. }
    & N' X0 d  \) A
复制代码
' Q, {* p$ m% \+ X& {

: \3 ?+ ]. G/ N$ F, Q
9 j; M4 `) \  tNX二次开发treelist控件添加右键快捷菜单回调函数的简单例子* d  |+ Z, k. T. y, E% @& p& A

$ E" X& _1 `" x  w5 y* ]' J这里大概的模拟了下 部件导航器的功能!# Y! \# w5 g' a- ?/ j

% u0 P! W, a' o  Z# k3 p1 K5 J# T

NX二次开发treelist控件

NX二次开发treelist控件
% l% j* z; b* N* W9 y/ u/ S* y1 U+ s

( a  q) a4 S' }% b( r" A$ v% X. g0 o

NX二次开发treelist控件

NX二次开发treelist控件

( m+ @; n) V9 c& H# d$ F" X" W/ k" p8 H: ]8 o

NX二次开发treelist控件

NX二次开发treelist控件

* n" y0 u6 Z( M) Y2 ~7 N
* l% a6 H" J+ a7 v: S, H3 I
2 `4 g2 R  s  l
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了