PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

[复制链接]

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

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

admin 楼主

2014-2-12 19:10:15

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

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

x
  1. <p><div class="blockcode"><blockquote>
    3 q; j& S% Q- |9 E6 w& M/ i
  2. * [7 X0 F- Z- y- G  y
  3. 4 }& O) T9 Y0 c$ I+ j) [' A
  4. enum MenuID
    2 A( w7 e! Y! y5 C- j- Z3 G' ]
  5. {, B2 [' `+ l: Q/ q5 `
  6. RemovetopNode = 0,
    ( A8 s8 p7 i1 C) `
  7. DeleteNode,  Z4 P3 t3 g- k
  8. CheckedMenuItem,7 I( F" M- H* C3 c. ?( o
  9. DefaultMenuItem,! p' U5 P( Q& X- j+ Q
  10. DialogLaunchMenuItem,
    & v, g" U. U, J; y" v4 Y/ z! M
  11. DisableMenuItem,. v- X+ x0 {, f9 X* i
  12. HiddenMenuItem,
    5 i" j. `& R8 i  _4 o
  13. IconMenuItem,
    4 h' k# N5 L* }7 k* }5 h/ a
  14. 2 k8 t3 @( T+ }% e- K
  15. SubMenuItem1,; G3 [* P2 a" l3 Y
  16. SubMenuItem2,  {* z3 I- r7 ]$ N
  17. SubMenuItem3,
    + y( q& U& I! g' \& J
  18. SubMenuItem4,
    $ c4 P4 x4 m1 J! W: D" d3 ]6 X: r

  19. - g. R3 H5 S  Q! }2 }
  20.         historymenu,
    1 E& l. c  Y3 [% h1 Y
  21.         nohistorymenu,% W( v" O+ R5 E6 R9 ?  |
  22. 7 p* R* `9 j9 s& b/ n" q% U
  23.         modelhistoryfilter,
    8 _  p1 z; S, K7 C4 e, Z; r0 q/ {# ^
  24.         filterSubMenuItem1,6 S/ D5 t8 v" X" O; s* w: _) n, I6 _. E
  25.         filterSubMenuItem2,2 p2 i+ I0 l- i7 s( B9 D% _+ E

  26. 8 w* h5 r5 X) }
  27. ; R% E$ i* C, T/ X3 u0 k. D
  28. };. }+ K- _4 V/ a6 u8 _, K
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
    6 {, r- ~. ~" S5 h. f0 p  R- V& T
  30. {
      ^0 o! k. B+ U9 `
  31.         TreeListMenu *menu= tree->CreateMenu();
    * u3 F, v% ^9 w% q5 D3 |
  32.         TreeListMenu *submenu = tree->CreateMenu();8 m' G/ h  O# y% X
  33.         if(node==NULL)& U) a/ x- \% ]$ ~: y# b8 E
  34.         {
    % s$ L1 `0 x2 p
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");
    + Q" y; |" x- h* s. L0 n9 \
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
    , H/ X  F/ ?5 O' z! ~, k' s
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");/ `, Y$ g, S: P3 ~! c
  38.         menu->AddSeperator();
    $ u5 q8 }- V1 J$ `% l6 N
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");. w/ X" Y7 s8 P* ~
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");) R5 k+ |/ E$ t8 j
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
    " K+ H5 \6 z" E3 d2 P, N
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");
    4 ]5 @8 q( [5 R2 u5 E4 j& v* J

  43. ; Y4 ^" g$ o0 j) n9 I
  44.         menu->SetItemDefault(DefaultMenuItem,true);
    ' ]; [  B% e) d" t* V
  45.         menu->SetItemChecked(CheckedMenuItem,true);
    " k: ]" s5 \* n1 P$ V! D
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
    ' O6 ?+ q' d) B! ~4 e* [! Y3 r; |
  47.         menu->SetItemDisable(DisableMenuItem,true);6 {* l. x) ~3 R5 X: \1 e
  48.         menu->SetItemHidden(HiddenMenuItem,true);2 M/ M+ z+ H# u% A+ a+ }: n( C# s
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");  D& k9 d6 K" X5 {
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");  f- b  w7 t, p7 |% h5 y" z! ?. m% ^

  51. 7 `6 b/ o3 z/ e0 @
  52.         // submenu
    $ ]# e* _2 `& v( S3 z5 r
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");
    # f+ |& S& j  H+ W
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");% i3 p( D" ~# }9 E  g6 m
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");. O$ @1 {* j2 v% l. V( T
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");# b& l- c" n$ s- o0 U! }, {  x
  57. $ F) Y$ Y0 P/ x; P8 E  H9 S
  58.         menu->SetSubMenu(RemovetopNode,submenu);  W3 Z2 D& z8 M1 x% e; w
  59. 7 I- x1 V  `2 N5 f' h+ i
  60.         }1 H* G+ _" _. I
  61. else$ k$ L" u: ~5 X, Y6 J7 H7 r
  62.         {
    1 |/ k- W' H  t2 a6 i) F  V
  63.         if(node==modelhistoryNode)
    7 Q6 P, e) `, h$ I" ^6 b* z
  64. $ _, s" Y8 q) m' b  c- \
  65.         {* Q; W0 R  m7 q% r% Y& d' E$ ]0 ^$ z
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");3 Y" P- {: o1 Q/ s
  67.         // submenu$ b* n# F5 H3 U  o# s. }
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");
    ; S% U9 i0 k, N' a
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");$ k+ a" |: ]1 @& C+ D/ C9 |
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);
    " n& u" l" @# I# L+ M# @
  71.         }  C. S5 @  m% n9 C. [: V
  72.         else if (node==historyModeNode)
    1 s# M6 _) x: V% ~6 t3 A- ^: g
  73.         {
    - }+ f& L$ W6 L6 N1 H8 ?, O3 _* o
  74.         menu->AddMenuItem(historymenu,"History Mode");
    / `, B7 u) c1 X, f, t: Y* H  M3 y
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");
      \  Z6 g0 h+ l1 @" Z) l5 m0 q  F' w
  76.         menu->SetItemIcon(historymenu,"check");
    ; {) s& ^; W, d3 M- n- X7 h
  77. }& V) w8 Z2 A7 r

  78. 4 V# g' _# b. r
  79.         }% @- \' R% z- W/ |, ?$ e6 |
  80. ' F$ z* p* j; v& ~1 U; D" v
  81.         tree_control0->SetMenu(menu);
    9 u* O+ {: R' t, {

  82. 0 `3 S3 f# d2 b1 D
  83.         delete menu;, y/ L( E+ B6 ~/ v3 z( @( [( a
  84.         delete submenu;+ [3 z: b6 z! H) R# H
  85. }) n' G: r' G- r1 M9 `4 A
复制代码
# l! D# ~& k6 S/ p9 R& ~- x

6 @3 L' L1 P' g! J9 Y7 F: f  x4 E$ |  V/ ^  H
NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子0 L4 d5 \9 I* p6 _2 \! u
4 x9 z. d5 D2 D# m7 }% L
这里大概的模拟了下 部件导航器的功能!
) o  k1 }# d; W' d7 t/ b$ L$ Q6 a1 o9 f; u, |; P1 c
$ A6 q5 s3 c4 A% l. b# [/ M

NX二次开发treelist控件

NX二次开发treelist控件
+ j6 `/ V! _( k2 \4 x4 l( [

! x! a8 U. l1 y, G  X

NX二次开发treelist控件

NX二次开发treelist控件
7 H+ h! W, S6 _  _

) j/ c; R# r2 x

NX二次开发treelist控件

NX二次开发treelist控件
- `. f; A: l" F: _2 U, O" X

6 k8 d$ o3 k/ ?, V
. H6 R3 p$ k' {4 }  \* Y7 v
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了