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

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

admin 楼主

2014-2-12 19:10:15

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

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

x
  1. <p><div class="blockcode"><blockquote>
    . ?; |8 U. X6 \( a& R! u
  2. . K: _9 K' |1 c9 u7 r

  3. 3 ]! a) p% M! J) _
  4. enum MenuID
    , r" A2 i4 k1 C- n: p3 ~
  5. {
    3 \2 b6 z3 z% R1 e
  6. RemovetopNode = 0,
    , h! [! R) H6 x* t- [; N) y( a! ]
  7. DeleteNode,
    ) k0 `' i9 K9 B6 A6 B
  8. CheckedMenuItem,4 [4 b: J8 C) h0 e: J0 U
  9. DefaultMenuItem,
    - x: J. D) H/ ~7 ]
  10. DialogLaunchMenuItem,
    9 i- ]: C6 F* t1 T2 {  {$ a
  11. DisableMenuItem,
    1 d$ H* X# U* H' G4 `, [
  12. HiddenMenuItem,
    ' {  R; ^3 U& ~- s. `
  13. IconMenuItem,
    " Z* f# n/ T3 y

  14. . V$ X; p; D4 n/ o# N1 d
  15. SubMenuItem1,
    2 I0 Y0 d9 q$ x6 n+ P
  16. SubMenuItem2,: q. v; I/ F& q5 u
  17. SubMenuItem3,
    5 S+ @5 E" r0 ~3 |- V6 _/ W2 D
  18. SubMenuItem4,- Q3 }; N/ ~" u9 t( N- v

  19. 7 U/ R6 W  x# [
  20.         historymenu,0 o+ Z1 K0 E" F7 g1 W/ m
  21.         nohistorymenu,
    - |/ U# l* ~& n' d. W

  22. ! U: \+ O; q/ }6 a% E" d
  23.         modelhistoryfilter,
    7 v0 C# g; d+ q$ i
  24.         filterSubMenuItem1,
    5 z! d9 w2 o: l8 z! j8 l
  25.         filterSubMenuItem2,' H' a. z2 m$ W5 c* y

  26. ! R1 ^, }4 t2 K* K  o$ `
  27. 8 C( q# B8 Z3 P: X3 F9 M4 y
  28. };
    ( q6 p8 P/ e: ?6 `4 V! t
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )% @5 H" o4 }2 Q. B/ n
  30. {
    % D$ {% d- v; q
  31.         TreeListMenu *menu= tree->CreateMenu();3 k# |% w8 s% @: ~" b
  32.         TreeListMenu *submenu = tree->CreateMenu();) d- Z" k% h* k+ a
  33.         if(node==NULL)
    - @7 @3 C- W5 y5 A( N' r, W4 h
  34.         {
    ( H. A, B6 d" K- Y/ i- g" w5 H. f9 i
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");; j5 b& v# t# P, a" k
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");# q7 }# f) |) b' B  u
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
    + z% s# R" T, G5 {) E; [6 N- i
  38.         menu->AddSeperator();) `4 H( T- T5 n( w/ h3 j( T
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");5 l3 H. z8 X; P4 z4 A
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");1 o: a' `" e) |1 d. [' T. O+ T
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
    " K7 i+ }8 ?$ j' L; h9 ^
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");! A1 G9 J0 n$ J, Q6 o1 Q
  43. : {$ y. ?7 a7 M& _. B
  44.         menu->SetItemDefault(DefaultMenuItem,true);0 u* x2 W  _, Y- W; c- s- ]: x# D" u
  45.         menu->SetItemChecked(CheckedMenuItem,true);' N: {$ `* ^4 V: W6 V7 S
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);1 C8 N3 j. K. y  z
  47.         menu->SetItemDisable(DisableMenuItem,true);
    5 Z8 V3 @. x4 P. J) h4 T* [) i
  48.         menu->SetItemHidden(HiddenMenuItem,true);
    9 p2 C( `( Y% H! m* T/ t4 w- ^( g
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");
    " ^! u) k/ |! f- V8 k; O1 X
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");3 X7 u7 g  C- I; J. |

  51. 1 L% e- b  b0 x4 H; Y
  52.         // submenu, c9 q8 E3 u: Z3 _1 U
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");% l. b: |9 Q/ n, Z/ y9 V' x8 E: i* v
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");
    5 F/ b- g, F3 \* U% C8 x: R# z
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");- q. y1 m: ^. g5 E
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");5 s9 Y, c2 L8 D/ n+ M8 p
  57. " C2 z* \) g% C$ q$ [9 E% W
  58.         menu->SetSubMenu(RemovetopNode,submenu);; ^/ ~  L  U( E0 ]# r6 }" v

  59. $ I* ?9 t; |" e% b  q* s
  60.         }
    - E/ [0 o1 Z  \( ~" o1 k
  61. else
    ' ?+ P/ t- U6 a, w7 X
  62.         {2 Y; T4 e* N- p; V
  63.         if(node==modelhistoryNode)( t$ y7 i: N+ k. J

  64. : m  X/ U& w3 P  `3 `1 l% y
  65.         {* W; E5 T1 }7 c0 O2 z
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");
    ) }7 I0 b, K2 b8 T* u9 q6 r& d3 F
  67.         // submenu- K- i) U0 f2 F& T: k! ^" o
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");
    & J' W; X6 E# l* s4 v1 m
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");( K6 F. I" u/ b" E4 D$ ]4 g
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);
    6 L/ h  y# c4 ?2 d: S
  71.         }1 y3 a, j# \) {3 L3 t' \
  72.         else if (node==historyModeNode)
    " j7 }$ f3 v, x! t6 {: ?5 q
  73.         {
    + t* e1 r% z3 y, l. Q) [/ |- X
  74.         menu->AddMenuItem(historymenu,"History Mode");
    5 J& A1 f* B) d* `, v% v- c, K+ {
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");
      Q2 G) k: t& E2 X1 h0 k
  76.         menu->SetItemIcon(historymenu,"check");2 C- J6 h+ m2 A0 L
  77. }
    1 N, D! t1 W" T8 g6 N( W" R- Q

  78. 6 }* U$ c# D' j. q/ S/ z
  79.         }
    ) _/ s# _$ X. e; W. Q

  80. 6 L: }/ H6 g1 Q2 b  Z" S
  81.         tree_control0->SetMenu(menu);  f; n) N0 @: \  n! D
  82. # g$ G+ ^; v( e$ ~" p; M
  83.         delete menu;
    1 K( r/ b* l3 `  e  t0 m7 U
  84.         delete submenu;, [& ^( d! |' L9 K( i1 B
  85. }
    4 X7 m+ Q; S3 O( u8 o& B! E
复制代码

1 {8 K* d( h  E. P( j, b6 Y) s6 D2 Q, e) i: {0 ~0 H

; {  y1 K6 d% ]8 k* ]NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子
* R9 j$ t- \3 S$ b( B% @
  [1 Y0 H, k. t/ \7 T- x8 y% p$ B+ O这里大概的模拟了下 部件导航器的功能!+ H4 M& ^9 I8 N) T/ p5 ~

% |5 R8 C6 v$ ~/ J) ]1 l7 ~3 G* h4 T5 o. S

NX二次开发treelist控件

NX二次开发treelist控件

5 V( V# V) l( g% C2 V! o: j: R; A0 a/ @" D) F

NX二次开发treelist控件

NX二次开发treelist控件
' H, V6 U; Q* C+ a) j# p

# z4 F. @2 |. z& R2 J

NX二次开发treelist控件

NX二次开发treelist控件

. Y! N; m) ~/ C  b* D( U; p  E6 K  F; g

/ `0 B5 @3 ]- y- Q- x8 h/ l
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了