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 5344 0

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

admin 楼主

2014-2-12 19:10:15

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

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

x
  1. <p><div class="blockcode"><blockquote>; n! @. p( Y! r! n

  2. 8 T2 M' u3 R$ R7 m# C. \+ Y: y

  3. 4 R4 S1 W. X5 A) E# E" t7 \) a* ]
  4. enum MenuID
    & B: ~8 Q- e8 Q7 O+ Z! m
  5. {1 E6 [5 R4 K5 M6 e
  6. RemovetopNode = 0,: l2 y7 w9 e# x' \% v# E( Y
  7. DeleteNode,
    6 ^% X8 v) c" }& o+ B0 {/ X
  8. CheckedMenuItem,
    % n! m' i+ [5 f4 \, X0 Q
  9. DefaultMenuItem,% n$ N( ?7 c+ j0 f
  10. DialogLaunchMenuItem,
    9 m: o# P4 n: t5 }' R
  11. DisableMenuItem,+ M3 p3 n: ]; N2 R& J; _% c" x, l% ?/ H
  12. HiddenMenuItem,  k2 |9 H* C' _3 U& z0 w9 N  P
  13. IconMenuItem,) E/ Z; s5 X( J9 q- ~+ @3 g3 E: e

  14. % b, y1 q1 W* d) b6 F$ y
  15. SubMenuItem1,+ q' N: {' n3 b8 X4 L/ E4 \
  16. SubMenuItem2,& x- K5 E* z, B* f
  17. SubMenuItem3,0 s$ _9 S" s$ q+ E! C
  18. SubMenuItem4,. _4 w, u# u( X+ t8 P7 Z; Y

  19. " ^3 \- K2 h+ U! |* I
  20.         historymenu,
    6 ]1 H1 [0 n! R5 j0 ]/ Y
  21.         nohistorymenu,8 r, r( s, x+ J. Q& E

  22. * w1 ?  U4 u4 S1 [( t6 C; m; M
  23.         modelhistoryfilter,
    5 i# E7 \* v! S  i/ `
  24.         filterSubMenuItem1,
    , D) G3 O. b4 U0 Y9 A  e" \- P
  25.         filterSubMenuItem2,
    9 y3 C1 J# Q3 F

  26. - \2 @$ O' p; R* W3 w( B1 L
  27. * G! \  j+ v# ~, p2 c# X+ Y; N+ p
  28. };
    5 u; [: K. _1 R/ g' `/ g
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
    + _3 Z- S- w/ I* y
  30. {
    ' ^& P/ r+ W. }' E+ w8 m* I& x
  31.         TreeListMenu *menu= tree->CreateMenu();
    - D- [. N9 `1 X, u5 P
  32.         TreeListMenu *submenu = tree->CreateMenu();. I# t9 A+ m2 P2 ?5 ~) r) W
  33.         if(node==NULL)
    ; m* h, W0 D6 x
  34.         {
    / X) b4 d2 E  \0 K4 m4 V+ s6 r
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");) i( {3 c1 c. U( B$ a% C$ H
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");) V' ^9 p: i0 S) F% E+ x& f& ]
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
    9 |4 r+ F2 c! r5 s. u$ m( L0 ]
  38.         menu->AddSeperator();
    5 X6 v; k9 V+ R
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");
    / r. d5 S; I/ k2 ?* A* ]
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");
    ! }2 `' D: R; U% N
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");* F" j; t7 H$ n' O1 ~0 T* Q
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");
    0 o8 {; I. L' t
  43. % q6 U0 h& Q, d, Y* s0 {' D
  44.         menu->SetItemDefault(DefaultMenuItem,true);9 I7 J7 T4 Q7 T. P
  45.         menu->SetItemChecked(CheckedMenuItem,true);. x* t. Y" X3 q
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
    ! M+ ~5 a6 g$ d9 N6 w
  47.         menu->SetItemDisable(DisableMenuItem,true);. {4 e" `$ r4 H* Q0 `1 P
  48.         menu->SetItemHidden(HiddenMenuItem,true);. t) }6 P. m! U8 W% H5 W$ H
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");
    . S, ]/ I4 g3 Q) y8 \- B! z, q
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");1 t6 z5 q1 ]* N* G
  51. 9 h+ s. i% g3 q
  52.         // submenu
    * w% }0 D8 ~# }* t
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");0 R1 i2 z% c: t0 N: S
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");
    ' t' W2 b1 e: q7 {3 R6 u
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");1 d% n" `+ y0 H9 y
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");
    8 x1 V/ X' X- ~; Z  Z  R, S

  57. " m2 D* S7 V# A4 j5 w. @5 p' [$ j% O- p$ P
  58.         menu->SetSubMenu(RemovetopNode,submenu);% f5 F6 C4 ~! ]6 z

  59. & t3 ^" v: a$ A8 j  u4 F5 a
  60.         }
    6 u. v2 S- J  Z4 r  }
  61. else
    ) L3 z; G7 V+ `$ e6 x; x
  62.         {, W2 ^. e0 c1 I! _
  63.         if(node==modelhistoryNode)0 c- i2 f3 T& a" R: x4 Y4 t( v8 @2 B
  64. ! y5 c5 F" D3 T$ z) z6 {) O2 ?. I
  65.         {
    4 ~2 }; S" A$ [. P. Q7 ?0 s! J
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");7 I; P3 s' `0 Y/ G( w8 W
  67.         // submenu
    : G! }: X3 p9 N
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");' g( {0 S8 C; U
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");: a- q# p, a) F' A$ F9 w
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);
    - f) u' l" {& }' ]& Q
  71.         }
    ; Z' |/ m" G  v( x0 W5 [7 _! d7 S' h
  72.         else if (node==historyModeNode)+ [% I6 O2 }/ x" `
  73.         {2 y% I4 ]4 F. g; G# ~% |, Y) Y
  74.         menu->AddMenuItem(historymenu,"History Mode");
    8 V; o) K7 R( p4 `) v
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");
    . v: ]* V9 B& E$ a, c
  76.         menu->SetItemIcon(historymenu,"check");
    + T7 M+ |# E- Y; R0 x
  77. }1 i* M5 g4 U% r3 T: [0 D" F
  78. 3 k5 g3 A4 A% o6 u- ^
  79.         }3 o$ I6 Y* J6 X5 g2 Q! [6 \4 m& r3 M

  80. ' f9 X7 p0 J9 s  j
  81.         tree_control0->SetMenu(menu);$ Y( u/ q8 ~( K
  82.   ^+ V" |5 N$ s, y! |0 v5 F0 e
  83.         delete menu;
    7 f$ S- X  b! h: o* E" B
  84.         delete submenu;" U3 c2 m/ `# L$ Y
  85. }
    ' m/ U5 e" |' R4 g
复制代码
6 |- K. H& c9 K+ F. |% M! N
% O; |; D/ n: b+ ^% U2 w
' _2 o0 d8 j! }- t! m4 ^
NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子
# Q5 `# s3 |# U- M2 ~1 U" N# H
% J: p2 |8 C. c% Q- ~3 b$ n7 \$ e这里大概的模拟了下 部件导航器的功能!+ e! c' \% P% W4 I
" s' \& h& }. M( q$ P/ @
1 }- G3 g- u+ D& `) ^/ Y% R$ I

NX二次开发treelist控件

NX二次开发treelist控件
2 j. |8 X& H; f1 u0 X# s3 U$ _1 X1 ^9 O

- ^, ^! \) `( P! B, J8 [: @- w0 h

NX二次开发treelist控件

NX二次开发treelist控件
8 o: _4 v9 J4 m
2 K* X8 `+ g& ^! W6 D) W0 n

NX二次开发treelist控件

NX二次开发treelist控件

9 z3 r. C8 @9 v- J: Y# p" r: m( K% p5 u& G
( c8 b& q' r1 t
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了