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 5341 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 ?) W7 U: G* ~) e

  2. , _4 a, k) V: G+ ]1 k
  3. ; i2 M; ~) Z6 w3 [9 v8 Q
  4. enum MenuID" N/ Y& _& m6 |7 r; x
  5. {
    - Q, Y! d' j5 T4 I
  6. RemovetopNode = 0,- w, ^# A1 F2 L. |
  7. DeleteNode,
    , c9 z4 A$ I, ^! c- S/ O/ l" w
  8. CheckedMenuItem,
    / v" Y9 T  U  d+ g2 A
  9. DefaultMenuItem,6 l0 U( i9 Y4 w6 F# ?3 Y
  10. DialogLaunchMenuItem,
    7 }. X4 W3 t# `2 T
  11. DisableMenuItem,
    2 `* W- X% Y# u8 E" y9 Q/ e
  12. HiddenMenuItem,# u5 ^3 q; U" Y0 N6 e
  13. IconMenuItem,( J, [$ A" o* j4 `
  14. ' T5 V; P0 ]9 V2 ]
  15. SubMenuItem1,
    ' q1 r: m6 f, M
  16. SubMenuItem2,. K( l6 p: B4 x
  17. SubMenuItem3,
    % y+ F; w' H& E. T6 h9 S
  18. SubMenuItem4,
    4 x- F. l! s& w" E: J5 S1 R. N6 R

  19. 8 t- c  q3 ^6 y
  20.         historymenu,
      T, Z) f9 k! S' k
  21.         nohistorymenu,
    7 S4 l2 c$ E- o5 s3 p

  22. . Q1 l# o( X: \; c  N5 K9 a
  23.         modelhistoryfilter,. X& r; w) ~8 o6 d2 j6 a5 W
  24.         filterSubMenuItem1,1 r8 Y8 U/ K0 ?0 h6 O+ o9 G" y. \
  25.         filterSubMenuItem2,
    : ]9 K5 @# K+ v3 N" m: y! ~/ v

  26. % O3 s) g  s3 i0 J3 n  V% j# [  C
  27. ; f3 j7 c0 ?$ Z, @7 \& ^
  28. };
    4 I5 I( y  z# [, R+ Q2 v
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )2 m3 ]) J& ]# Z+ e8 s
  30. {
    ) C  o* ~0 j3 P$ e3 J$ ^/ r" x7 x
  31.         TreeListMenu *menu= tree->CreateMenu();  Y* Y* f' a( h
  32.         TreeListMenu *submenu = tree->CreateMenu();6 o, H* e! _9 E8 d1 n
  33.         if(node==NULL)
    / f7 {" c2 q' T2 M- h
  34.         {
    - y; ]% ~; z) E8 H1 e8 T2 y- d
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");; Z3 V  v1 f/ F2 q0 \8 ]+ M
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
    , E3 i/ l% ~8 w7 F* N# O- P
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
    2 |' b/ h9 B* d* x
  38.         menu->AddSeperator();% a# z" |2 a: j; P" B1 p: D
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");. k: t" x3 k. p
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");5 ]8 s6 D& \* T/ q' \$ E1 z
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
    4 ~* Z9 d; ^8 V" j& c$ Y8 i" [
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");" [% L" K1 Q4 A: A( |

  43. ; @* h9 F) I2 V/ _
  44.         menu->SetItemDefault(DefaultMenuItem,true);# R% e9 @. j4 u+ C. e
  45.         menu->SetItemChecked(CheckedMenuItem,true);) r; F6 i; S" W
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);- p: R. g! y  K/ i
  47.         menu->SetItemDisable(DisableMenuItem,true);
    * V7 A& z- H% m: d5 j; W
  48.         menu->SetItemHidden(HiddenMenuItem,true);
    ; Y/ t) \& l! |7 K2 D% F( i
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");
    ! V) w# ~* {+ J( b
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");
    3 R& a/ D9 P; I$ C4 ^3 \
  51. " X9 E) B- U0 |1 S, [. l
  52.         // submenu
    ! b& \% ~: W; |0 l! s3 i
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");% U5 s" W+ l2 a# \& y: w$ e
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");2 k/ M* _4 T" M6 ?) b
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");# j! Z0 i" }$ q$ G. q- t
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");
    ( N- K7 m2 E, @
  57. ( @# Q+ j+ X% z1 E6 j
  58.         menu->SetSubMenu(RemovetopNode,submenu);8 ?% T- d* T" t( D! i

  59. 3 }& b# y4 O; D
  60.         }0 m4 ?! N$ D0 D
  61. else1 o8 N0 U4 T' h$ b" r
  62.         {" a' |- E% b( ]/ F
  63.         if(node==modelhistoryNode): I! l; Z0 m, _1 l- n" q" h5 V
  64.   |8 z" J$ B& ^1 N# |& @2 N
  65.         {
    ; s9 {2 Z: {; j$ I% ^! C
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");
    # h; Z! P' A6 ^* x5 v$ E7 k5 T
  67.         // submenu6 @' P9 G/ u+ i
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");
    + t( X' `! d! w1 x( s" C, Q
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");- q7 [; _9 c5 ~# T
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);
    ! o( w. ]9 U6 O1 G
  71.         }2 Q9 _" ~% \% Y/ O# s! ]
  72.         else if (node==historyModeNode)  H$ f2 V6 n9 Q/ ]
  73.         {$ V! c$ k/ Z: h7 V6 E
  74.         menu->AddMenuItem(historymenu,"History Mode");
    ( A* ]) h; V* l3 @5 P( N
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");* [0 F. [; `+ I9 b6 }- t
  76.         menu->SetItemIcon(historymenu,"check");) I) M$ ?* Q& @. j
  77. }) \/ s8 x* k% k( x7 r5 G+ A. ~2 t
  78. + _  u3 G. {! G6 J, Y
  79.         }& A% D( @2 H% s' C* U: w* }
  80. 5 p; y7 `& a4 ?
  81.         tree_control0->SetMenu(menu);
    # G8 F) Q$ J& X$ W- X, K/ h/ x

  82. 2 d. }$ ~% G" U4 _
  83.         delete menu;! E4 _% M2 a9 g' p" C5 I6 `% r5 `
  84.         delete submenu;
    $ Q4 B7 U2 d8 R* e+ k
  85. }9 N+ }" I% I3 Q6 R# i% h! B
复制代码

  j/ x4 M1 @' t" z2 l* J/ K+ W2 |  Z/ ]# v7 J
' r' ?/ B5 |0 ?8 q) Z2 t. j  Y
NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子; G; _, I6 y! L1 C- u6 D, r& h
% a: e1 U8 X8 p
这里大概的模拟了下 部件导航器的功能!
( T+ K9 a1 ]# D, D: h: T% j; u* K! v9 G1 V- w- N. B

7 ?- f! ~* l, t6 f: R& V4 |0 a

NX二次开发treelist控件

NX二次开发treelist控件
$ U: ~" d9 `# Y" D

6 x* c, B) Z6 s+ V' F; }

NX二次开发treelist控件

NX二次开发treelist控件
! {: Q3 r& q8 Y( i
8 c; b1 G( t" S/ H/ B- @

NX二次开发treelist控件

NX二次开发treelist控件

8 G" k# k* {9 g. f1 }$ T+ D7 t* Q0 ]" E7 Y9 r( Q& M

9 \; h, }. E, V% w+ m
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了