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

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

[复制链接]

2014-2-12 19:10:15 5407 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 M) |  `/ l" u/ t6 a* |8 e- Z

  2. # ~$ ~& c" t9 p- n
  3.   b/ y# C8 V9 v* V- O
  4. enum MenuID
    : M1 K9 v7 v% t( v
  5. {1 I/ R4 C; |$ [! _
  6. RemovetopNode = 0,; H6 u' M9 s. m$ j* O; ]. t' O
  7. DeleteNode,# K3 A! x- j% C8 ]/ m+ }- r
  8. CheckedMenuItem,
    6 P+ E" T9 L/ S/ z
  9. DefaultMenuItem," q" I) D+ q2 {! G, `# e8 P: t- H9 W
  10. DialogLaunchMenuItem,
    ! V$ r# A7 o  k5 J9 C; q; v
  11. DisableMenuItem,
    , s/ f* F6 j9 b! F0 t
  12. HiddenMenuItem," R' g8 N3 j$ u
  13. IconMenuItem,7 I" [) C& Q/ V# n- y9 D
  14. 2 P8 A8 u* G( J; ^* Z# A, z3 E7 i8 k
  15. SubMenuItem1,
    ; P& p& Z) ~0 i( d
  16. SubMenuItem2,
    # k  D! T& m6 z$ d- M3 Q
  17. SubMenuItem3,/ i& o7 E& t6 V0 d3 H) B9 C
  18. SubMenuItem4,
    ' E3 B: R+ \8 T$ J9 H
  19. / M  |4 H: \, O7 b+ p3 v
  20.         historymenu,
    , z- @' Y7 J! f- v
  21.         nohistorymenu,
    . s3 m, e5 u% r4 Z3 M6 U7 {3 B

  22. % A. O" f" ]0 v2 S, ~' t0 w
  23.         modelhistoryfilter,4 @; Y  C7 _! A8 {: {( R) s5 R
  24.         filterSubMenuItem1,2 g/ ^5 _- `+ v! P& m) L5 A
  25.         filterSubMenuItem2,
      C, _. m# W0 J$ r- A4 v1 X7 Z3 \

  26. , t0 [+ n" z2 r4 m

  27. : n9 n% P+ |1 V; }: N4 L( O& \
  28. };* I" i* |6 j# o1 i
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
    & x% [+ j) A% a6 ^9 g$ l; G* ^
  30. {' g; Z3 X" s, X: k8 L; _* X& f0 N
  31.         TreeListMenu *menu= tree->CreateMenu();
    ; r6 b$ ~" p& M0 I
  32.         TreeListMenu *submenu = tree->CreateMenu();- F; ~$ V( j: a  I) S
  33.         if(node==NULL)9 Z% u5 A( |3 O. l6 r0 C5 L
  34.         {6 l8 j9 z3 h" H& W0 A% V1 \
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");: n2 e# n, D6 d. M3 V* V# q
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");$ ]; ^) X' x% [
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");4 Z6 R/ p# {$ [3 O
  38.         menu->AddSeperator();+ P! a+ [; y0 ?* \
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");& Q. C  o# \. J3 I. i
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");
    . E+ }+ M& x4 L7 `  O
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");' O# F: O* m- w, d' F7 _
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");
    6 p4 g. q2 S# k
  43. ; c- _; T/ a4 j
  44.         menu->SetItemDefault(DefaultMenuItem,true);' K$ J) K6 X1 W1 [4 |
  45.         menu->SetItemChecked(CheckedMenuItem,true);- \0 x% Z# X' C$ i: F
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
    4 F9 z8 T. V, _3 o' l3 A
  47.         menu->SetItemDisable(DisableMenuItem,true);
    ! U9 o% e5 m" G; h8 `$ C+ ?2 C, Z
  48.         menu->SetItemHidden(HiddenMenuItem,true);
    8 a2 y! J) r' \' B' n- a$ W+ o
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");
    % o/ R+ m  q) s, i/ G3 o6 C2 h
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");+ z6 }( F8 n( S5 Q! T  [
  51. ; f  j- ?% q3 W1 G
  52.         // submenu
    # x' E$ P( L7 s, H7 }1 ^6 e
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");6 [% P# F: ]1 u3 p
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");. w2 X1 ^& `! _) \, J( B( }
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");- a, V2 g9 A! x5 ?% _9 [4 {2 l
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");
    $ [) q& Z- `# ?* l; l1 _0 s6 x
  57. 7 I3 y1 h9 R' a; l: x: q5 _$ A
  58.         menu->SetSubMenu(RemovetopNode,submenu);
    9 g1 e8 ~- w" O: j: M
  59. + V+ G6 r; Q- |  }, n9 z; O% e$ \
  60.         }
    : O1 a1 M3 @& T# C/ p" ^
  61. else
    ( I" @9 N1 F- w( j
  62.         {
    0 M& E; s' U+ @" T7 U
  63.         if(node==modelhistoryNode)! s) }$ C9 e, v2 j/ o; t

  64. 1 G; A; ]) u6 B
  65.         {9 |8 C5 C5 O/ K. k, i: G$ E8 ^
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");
    # n, K' F, a% f8 P+ F
  67.         // submenu
    8 |1 N/ `7 Q$ E. w( }3 p1 W7 z
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");& G2 G8 \; @) K3 ~9 }7 J6 e
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");
    + c8 e: i( G* E3 M8 [6 L* H8 k
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);& |8 H6 m2 ~1 h2 [% d( |/ E
  71.         }( a- O' e, N% q' `& y( h+ @7 C
  72.         else if (node==historyModeNode)
    + N) Z3 [; g* |1 J# k, e9 ]
  73.         {
    4 y% v& Y$ m( l. A
  74.         menu->AddMenuItem(historymenu,"History Mode");4 O9 p1 q; b' X# o$ ~' ^
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");" O& P0 D/ ?" |! o( B
  76.         menu->SetItemIcon(historymenu,"check");
    : _5 p  P, P9 s! d+ W" z6 f
  77. }
    5 G, @) O, }2 m

  78. ' b: R% m5 j+ N7 i0 J
  79.         }, p2 w4 F* S7 x9 _4 u
  80. 4 J& ?: ?. N: p6 I
  81.         tree_control0->SetMenu(menu);( S" i* P5 D" e+ i. U% X" Y
  82. ) p0 z( c# R& D# v, H
  83.         delete menu;
    9 B+ l- @7 e! i* w
  84.         delete submenu;* z- w, S+ b! q8 e+ H! `; W
  85. }3 W- g  S4 }" e2 ^
复制代码
7 E$ \% C# j1 r+ L7 A% `% z
$ X2 |* t9 x/ S9 d8 K4 I: E
- o6 V/ `  y0 W/ z% d5 V4 r& c
NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子6 o" K. U& ~' x5 I% @' X4 C
; C6 Q: n5 \" f# v" N' F3 ^" M$ K% |
这里大概的模拟了下 部件导航器的功能!( ?) `1 V/ h) a+ o0 {, s

- R4 U  _! j5 ^8 ^3 u1 \6 p- o- |- Q+ W/ v

NX二次开发treelist控件

NX二次开发treelist控件

% B# a. u* x$ h1 o
8 V0 ?5 X# Q6 ~7 {! f3 [9 {! _' I

NX二次开发treelist控件

NX二次开发treelist控件

! ]  r- K/ z3 U; W0 P; e# c# r1 |' S% {$ c3 J- u

NX二次开发treelist控件

NX二次开发treelist控件

- b7 |- D+ Z4 v; ?2 Z" j- h8 X; l/ Q7 l& \6 X% H
- q' C8 a1 p  `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了