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

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

[复制链接]

2014-2-12 19:10:15 5488 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 l8 W2 ?6 C3 C1 P5 m/ @6 @, J

  2. ! q" ^/ h  E2 P, ~9 x% I; j

  3. : K% j& l7 c4 D
  4. enum MenuID( z6 a" V$ Z8 d" D$ C7 L
  5. {
    2 w6 V. q0 V9 o/ e1 h! j! J" f
  6. RemovetopNode = 0,
    3 z3 ]0 f# U4 E; C* ?3 h' H0 v9 c
  7. DeleteNode,% Y4 ^8 P! e, w; n7 K# K! Y! d
  8. CheckedMenuItem,
    9 V: l0 s- g0 N& Q! V: o1 s' }
  9. DefaultMenuItem,4 b) w9 R# a3 W4 x# n
  10. DialogLaunchMenuItem,
    ( H* J! l# x( r3 O
  11. DisableMenuItem,# `( `7 S  D0 j+ }2 m8 H8 M; }6 m' r
  12. HiddenMenuItem,! e) ]# z, X+ H2 m1 J: O
  13. IconMenuItem,
    , G- K( u0 O7 v/ M

  14. - x+ S! x9 r' U
  15. SubMenuItem1,
    9 v7 d# s/ v6 D* C" i/ _: O( d
  16. SubMenuItem2,
    & V9 g8 [  D' T: h8 N# M: F% d
  17. SubMenuItem3,
    8 r9 `9 f1 h* L/ T3 F: h7 I3 e' W
  18. SubMenuItem4,2 L, D+ I( ~) |0 N

  19. : Y% K6 Y( p$ z
  20.         historymenu,
    $ V% J" L4 J  U1 r3 q0 [; b
  21.         nohistorymenu,
      K0 Z$ e7 j2 J

  22. 2 U6 H5 l2 O9 Y; Y
  23.         modelhistoryfilter,9 u" u( m! p  x6 O
  24.         filterSubMenuItem1,1 T' K9 v! J+ |- c
  25.         filterSubMenuItem2,
    % y* T! B$ n. b$ L( m, p* K8 A, B

  26. 3 `+ i7 ~# D9 r, C% ~% }. j0 `

  27. 2 f, d0 |: P9 F! R6 ]
  28. };1 o0 d' W" ]7 i
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
    7 \  U- I2 D9 j* T: m7 g" C$ A& ~
  30. {
    - I  ~* Y, a7 y! a0 R  l
  31.         TreeListMenu *menu= tree->CreateMenu();$ F3 X3 B4 @/ |: D9 }2 ?5 N. o
  32.         TreeListMenu *submenu = tree->CreateMenu();' J9 f3 B$ [) B( ?6 W) i  M
  33.         if(node==NULL)
    0 F' y7 {; m: |/ N- e" T
  34.         {  j/ t+ P. ]5 y$ j8 u8 r1 f# q
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");
    # y" ^2 ], r1 ?1 Q  Z
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");$ E$ u& f+ m  b) q
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
    ; Y7 v5 ]$ `) ]
  38.         menu->AddSeperator();
    0 }2 B4 W  y2 F
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");
    3 [% e, A2 H0 R
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");4 G) m1 t4 R0 t: h# H) H* F8 d
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
    ) J% M% B1 a. z
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");
    ) A; Q" B. J8 X! O7 d) w

  43. ! Q& t/ Q9 `7 V! N. A+ l- A- H
  44.         menu->SetItemDefault(DefaultMenuItem,true);
    % B& E! O/ |5 m3 [) t8 f
  45.         menu->SetItemChecked(CheckedMenuItem,true);
    / P; h" P( {  q) D0 p8 K, a
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);# b1 p- J" u& T) G. E
  47.         menu->SetItemDisable(DisableMenuItem,true);
    : A# Y# P1 t  Q( l2 S9 b
  48.         menu->SetItemHidden(HiddenMenuItem,true);; A( x$ J6 [& ~7 l$ {5 F
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");' c2 C- x, X  G. T
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");- s* B6 |+ {- T

  51. ! E7 D7 z% _4 }
  52.         // submenu
    : O0 L0 r# D* J& ?2 f9 L
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");0 a4 J4 S0 i9 k& b
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");0 p7 e9 w, H. ^
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");
    8 _# U  e8 k% F* ~+ q6 c
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");
    , P( C7 U5 a. d5 |* O( B

  57. ' z$ o& d- |! x! t  k. y& O" A5 Q
  58.         menu->SetSubMenu(RemovetopNode,submenu);9 Z5 T' e  D1 Z4 n: }
  59. 5 y  Q7 B2 O" r9 {
  60.         }) M8 [) }; H. n; m! S4 i+ B+ r
  61. else
    & e+ Y2 u# A, C2 G
  62.         {0 c- E+ f7 P& ?) I7 p
  63.         if(node==modelhistoryNode)5 H. X3 Y5 x, z0 J7 b! m! @" x

  64. 7 j9 e9 k/ \8 O* _5 @* b2 M% f
  65.         {& ^: X$ n! M4 J9 V1 l( |
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");
    9 T: d. p4 ?! h6 j
  67.         // submenu/ H6 z6 I9 E' F) z. \  L
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");4 ?( c: F7 J3 E$ i" m- z9 \4 Q
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");0 D9 s( {' h4 I" G) W" u! E
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);
    & ~% k4 m+ O2 i& Z4 _
  71.         }$ j8 P, S8 j2 Q+ o9 p; g
  72.         else if (node==historyModeNode)
    " |# ~5 G: Q, A3 c0 S- [" S
  73.         {
    0 Q$ R; s! V- n
  74.         menu->AddMenuItem(historymenu,"History Mode");* u2 w5 X, G8 T
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");: \/ h5 W5 x3 {
  76.         menu->SetItemIcon(historymenu,"check");3 s% x; s! X: A% R+ j: F% ^
  77. }
    ) @$ K5 z2 `) U0 U  h* `1 n

  78. 7 U% w5 }4 A  e9 C9 C: Z2 I$ W
  79.         }, F1 \" H* B' W1 h6 R- K
  80. 9 p% n" {; z6 B2 H$ ?1 i! L7 L
  81.         tree_control0->SetMenu(menu);( q6 y. H8 c' m/ m2 e9 D0 Z

  82. % Y. k6 r4 J& {3 d0 R
  83.         delete menu;/ m$ J7 D& n" |* G
  84.         delete submenu;
    + B( I* w8 C$ T, s1 J
  85. }0 `( _( t7 W) a' g( a' Z
复制代码

" b8 F2 f. l! H6 \. z* F; C/ w( k/ m4 u" L

- f# `" a0 c6 h; C# R- HNX二次开发treelist控件添加右键快捷菜单回调函数的简单例子
4 u3 _2 ^( h0 N4 t8 R: b* @* P
  x9 I' U) e& `( k7 B- M3 L5 J这里大概的模拟了下 部件导航器的功能!# o" n6 d2 N/ H# S! q4 d' w
" {" k5 d2 L3 {, [& b+ ?! F, @7 `" k

: y2 M! j, Y9 K: K* f" d

NX二次开发treelist控件

NX二次开发treelist控件
: n9 E1 o5 A" i
! ]' m! @- B9 a2 T- _9 R

NX二次开发treelist控件

NX二次开发treelist控件

9 I5 J% b5 s- }
2 c6 a$ ]  }& f1 i$ [

NX二次开发treelist控件

NX二次开发treelist控件

/ B2 ^2 @, j4 O- c) j
0 ]6 y- ]9 v; T. O% ~% o) u
6 l8 h/ J* \: ~) s. Y3 G/ K
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了