PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

PLM之家PLMHome-国产软件践行者

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

[复制链接]

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

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

admin 楼主

2014-2-12 19:10:15

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

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

x
  1. <p><div class="blockcode"><blockquote>
    , Y9 d! s; N) X7 _
  2. 8 n+ l, t+ }7 I

  3. $ X: I* H- t) F* c
  4. enum MenuID
    ) ?3 @5 j/ w, ]4 G& I9 ^* Y
  5. {' v& ]* x0 n, J. m7 T3 |$ U
  6. RemovetopNode = 0,
    / h  L4 X) y2 _" e
  7. DeleteNode,
    5 r. |& w8 r3 C" z! Q8 g) e
  8. CheckedMenuItem,! o/ ^$ K( R/ O6 g3 E+ U
  9. DefaultMenuItem,
    ) Q. F$ C$ w7 a
  10. DialogLaunchMenuItem,  \3 ^5 F, `, u3 p1 v4 [
  11. DisableMenuItem,# x2 R, e+ b  |, @! }
  12. HiddenMenuItem,$ f  V' s) j9 g
  13. IconMenuItem,! F8 o( c, S5 G, |

  14. 9 J9 ~) m7 G+ G; _
  15. SubMenuItem1,7 M2 S2 R5 s: v& \
  16. SubMenuItem2,2 M' c5 t" h) }$ @9 l) s
  17. SubMenuItem3,
    0 u' e2 R- ]- i
  18. SubMenuItem4,
    ' I( d. f& _( U& A- m
  19. % \" l4 S8 d- m  n' Z
  20.         historymenu,
    . R: [3 X( q; [0 Q) d, G
  21.         nohistorymenu,; c: \  f. @6 D6 T* Z" d& M

  22. 7 u6 W% ^2 K7 H
  23.         modelhistoryfilter,8 P, y/ x7 p; C- k
  24.         filterSubMenuItem1,4 [& f3 D9 c; g
  25.         filterSubMenuItem2,1 Q( E/ A2 u# g) z$ \
  26. ' R0 d0 b5 o' ?& ~5 ?+ H( ^
  27. / Z% p8 I+ I) o( F+ |2 e: _/ h
  28. };% K4 ]7 @4 s/ Z( u3 M5 Y8 P- w
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
    7 Z2 }7 D) p) w+ Q
  30. {
    " D* D0 O# ^* @, t
  31.         TreeListMenu *menu= tree->CreateMenu();/ ~. u/ }  M6 H0 ~6 h
  32.         TreeListMenu *submenu = tree->CreateMenu();2 R9 K' }7 ~0 W  u7 R% V3 n
  33.         if(node==NULL)
    0 c6 ?; Y, D' M# K8 ], M
  34.         {: f7 J2 i. T; S0 E& H8 N! q
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");6 _7 D8 R& H' @
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
    % R( l. \+ h' L& ?' U8 }: M4 a
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
    : W+ r( r& ^8 @+ e
  38.         menu->AddSeperator();' b) q" e- ~, W  b
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");
    * z+ s. u* M; C
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");
    2 Q' _% [. _$ E4 y0 Q4 H# l8 J
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
    3 T; x  |6 V1 l4 ^4 F
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");. [: I1 x( g* }! V$ V$ Z7 ~5 C
  43. ! {' ?7 u$ g+ f. d' i) j
  44.         menu->SetItemDefault(DefaultMenuItem,true);5 W: I$ o8 O3 j2 Y) o. T
  45.         menu->SetItemChecked(CheckedMenuItem,true);
    6 c; a) l) {0 R+ n  P
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
      ~- R* W" F! y( U# z, r# [* K* g
  47.         menu->SetItemDisable(DisableMenuItem,true);: p  j: e9 @" @! E; [$ ~% o
  48.         menu->SetItemHidden(HiddenMenuItem,true);
    3 d$ V0 G. z4 b, F- }9 r
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");
    8 y3 V8 F( I+ M; |9 F  }% F3 y2 q
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");* c8 f6 N; {& c' T

  51. ' Y& d' `) R% T% d! c
  52.         // submenu; \$ t* n& ~- V, @- o! F
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");
    # z: f( r/ p4 i! l
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");
    ) S+ J: Y+ ~/ v
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");
    - a8 }! Y& l2 [: @
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");. g/ g( }& E3 k9 k7 s; e* V

  57. % x- a& [9 `% Z# `( J
  58.         menu->SetSubMenu(RemovetopNode,submenu);/ D1 F1 s$ o6 R1 u# A3 K( _

  59. 5 u+ `9 J( ?5 ~/ H. Z
  60.         }
    ( _& W1 \" K+ f9 k* c% p6 z- b9 D4 i
  61. else2 i: T6 r/ u/ S9 t; Q8 p( y# @1 @. z
  62.         {" ?( l  K2 q- V, L, M4 V! ^! W1 k5 V
  63.         if(node==modelhistoryNode)
    5 L3 s+ }. B+ J2 j* e
  64. + D' C/ N- s7 X$ R* M* u# u
  65.         {
    / g% W8 y, N( Q: |) y( H
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");! |8 i7 l/ F3 e
  67.         // submenu
    6 M* h% B  O7 @+ D
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");9 Q2 |& S. z( P
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");
    3 S8 _# l; \1 V7 \
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);- A& u& i* S+ i/ d" r: q
  71.         }
    5 {+ t( M# S% a. X# u2 Y% X" p
  72.         else if (node==historyModeNode)$ U# a9 G: k1 t( t+ h8 t
  73.         {
    " S& G8 ^5 f  Z' l
  74.         menu->AddMenuItem(historymenu,"History Mode");
    * f; ^) O- A- E  a, ~- [
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");
    $ q" k2 b! }. J, d" J2 y  d" h- N
  76.         menu->SetItemIcon(historymenu,"check");" l: z8 b) N' x* ]" i; S/ U
  77. }
    9 g8 @, F1 d, _1 w8 ~7 p

  78. 0 ~4 i$ H$ V- F1 [6 J$ Z
  79.         }
    - F9 g  f) Z( [, c$ g8 o
  80. ) S! x" o( w: }. o9 b
  81.         tree_control0->SetMenu(menu);
    " C$ K% }; |" v- F) {
  82. . W3 ~3 Y/ y4 k
  83.         delete menu;
    ' j9 J1 m# O/ G' b" R# ?3 r+ }$ S  T
  84.         delete submenu;
    / y  w$ n3 \* G
  85. }
    - [+ z8 Q& c  O% l2 J: G" d! Q
复制代码

/ d$ L. E* n5 I1 ?7 @; p! D: O6 X% {, h  ]
" k- r+ T" u" _' k9 t8 D9 Y$ B# x( W
NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子
9 C5 Q" o0 S8 V, O/ E% z% L  a- X- u5 s  L
这里大概的模拟了下 部件导航器的功能!) V! w- q1 @0 l: @
2 i. D/ {. [+ V" P4 ~" T) q  W

+ B  D& t/ U4 w9 c" d

NX二次开发treelist控件

NX二次开发treelist控件
/ t, f: \8 p4 {2 S% p
! a4 `, K, ^2 Y" Z; L& G

NX二次开发treelist控件

NX二次开发treelist控件
. U8 A" ?5 {4 U- T& [

7 }* X! T; F$ E: }1 l

NX二次开发treelist控件

NX二次开发treelist控件

3 C- ?* y' J  _1 U3 E4 w# j4 x, L7 P1 b( a. D- B
3 [6 `7 l' P4 Q  R
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了