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

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

[复制链接]

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

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

admin 楼主

2014-2-12 19:10:15

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

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

x
  1. <p><div class="blockcode"><blockquote>5 H3 |; W' E1 s% o
  2. , o7 S- k3 Z6 A; z# g

  3. 6 P: _/ r. `! }% [4 `) @
  4. enum MenuID0 a* i2 T( y: {8 T* u
  5. {% l# i* J, E* \
  6. RemovetopNode = 0,' }! @' k& f+ Z
  7. DeleteNode,
    $ ~* u3 U  u" V* J4 L
  8. CheckedMenuItem,
    ' w/ C& X6 V' ^- g) d/ k0 A
  9. DefaultMenuItem,* B+ k1 V: I: }6 W" }4 n
  10. DialogLaunchMenuItem,
    4 E) M* ?8 m: O1 `; c8 M
  11. DisableMenuItem,
    - Z4 t; Q4 c* f3 ]* A
  12. HiddenMenuItem,! D: X5 c$ W: G* c/ w
  13. IconMenuItem,
    ! X2 U9 I; ]3 i: L: c
  14. 4 w( O( f3 I2 a
  15. SubMenuItem1,
    5 U* _9 M2 b; E/ ?1 J
  16. SubMenuItem2,- c8 S; {" U+ p" O3 M" c8 \
  17. SubMenuItem3,( S1 H  i' C# y% ?( [: w% n% j/ ^3 ~
  18. SubMenuItem4,: i  D3 h8 Y0 x% I) `! b- J
  19. , n  G/ m# r; X. F
  20.         historymenu,
    * `( v! K5 u! Y6 w; s0 D
  21.         nohistorymenu,1 c. p" D' b( f" h0 `6 h1 S
  22. 9 v5 D0 b( u6 X5 |' v
  23.         modelhistoryfilter,7 I: \. p4 L0 n: ]( J& }
  24.         filterSubMenuItem1,
    + Q9 x% i2 _6 I: R7 a* g
  25.         filterSubMenuItem2,3 m; k' }$ N* i# v3 I" f

  26. 4 `# s& R! A; @' U7 ?3 A

  27. & g( {3 N+ F; A
  28. };/ {4 F9 o" V; H# H! a' Z
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
    : u1 U/ U3 l4 B; N; |
  30. {
    ( S4 m8 c$ I4 o4 S7 ~
  31.         TreeListMenu *menu= tree->CreateMenu();
    7 o) E) h% Y7 O- r0 u6 ^
  32.         TreeListMenu *submenu = tree->CreateMenu();
    " D& p2 l4 A9 J9 Y  K
  33.         if(node==NULL)
    % w: ~* F" a% s- Y5 M
  34.         {1 K5 l  e' |. p0 ~
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");
    ( B7 O' V8 j% V7 Q' {6 W! E
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
    3 c8 q; G6 m0 H8 k# a
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
    $ x) y/ D) o. s9 o% |: I) W/ @
  38.         menu->AddSeperator();
    4 C' D9 t( S5 d( r: Q' w
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");
    ; l$ e- g: _* h; R! t& g  i4 S
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");* H* c1 a/ f  U3 i3 _7 _6 _
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");" q$ F" j2 o+ k9 s5 M8 I1 R
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");
    / \! ^7 g: U( h: ~

  43. " q2 l5 C# T/ E, G2 Y
  44.         menu->SetItemDefault(DefaultMenuItem,true);- v  G6 b: Y% v' A
  45.         menu->SetItemChecked(CheckedMenuItem,true);
    7 o! o6 a/ @+ {
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
    . _# F- _. C) M# j% s
  47.         menu->SetItemDisable(DisableMenuItem,true);
    . H$ v1 L+ H8 t* q) G) q" m
  48.         menu->SetItemHidden(HiddenMenuItem,true);0 n& m% @1 T0 t1 D/ ]! R, c
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");
    " Z% X) N1 M  e) Y6 o( l
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");. P" v# D' T' d& k) K5 S
  51. / W* ^- H/ L8 X. f3 `
  52.         // submenu5 V) I, r) b0 v# _, Q% S7 O
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");
    1 Q7 o0 {7 [; K1 o
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");
    % T; ~) `$ P- Q3 ?% D
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");
    - n9 Q# k* V$ u, ~5 Z% `
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");$ L2 S! k6 n8 ^. h+ }+ G

  57. . X4 ?, q+ b( S9 c$ A* _
  58.         menu->SetSubMenu(RemovetopNode,submenu);5 i4 d: f9 K' |. P' f

  59. 3 r' e  h5 V3 }  B3 t- N1 b
  60.         }
      D: ]0 e! `2 U& T* s1 @1 v
  61. else
    / D- t$ ^9 U  u0 L9 W' K, W
  62.         {+ O8 Q) Q; A! c' T& `% n
  63.         if(node==modelhistoryNode)% i. z, B" K3 A% X; Z

  64. 1 H8 K$ F2 f2 @" ~9 Q9 g
  65.         {
    $ B3 e; {" k1 w
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");- @! N& @$ c* B9 ?4 k( D
  67.         // submenu3 k/ d0 y& m6 m
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");
    - k  h1 @( z0 C9 U7 K2 P. h8 d
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");
    / ?! k. \8 n% f) H( x! |$ G! S
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);6 z, S. x. W3 ^+ E0 F& o- b. u
  71.         }1 G3 D8 c* t, v* ^7 y: T- j8 G
  72.         else if (node==historyModeNode)6 [) \- n* l0 n4 x3 L! m6 i- H* Q
  73.         {
    4 g# \' ]# }5 k6 Q6 t
  74.         menu->AddMenuItem(historymenu,"History Mode");
    , ]+ g( d# }9 ]% |
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");
    & H8 {# p2 R' i+ q- @
  76.         menu->SetItemIcon(historymenu,"check");2 f; L9 z* }& T8 D1 N
  77. }
    0 K% `) [% s3 f
  78. $ @  \) O) m1 e1 j0 o
  79.         }/ @6 w& z4 g  n- C9 y3 N1 O: w
  80. - F% {) O: c' c* V; |
  81.         tree_control0->SetMenu(menu);
    : s1 I* q( ]5 j+ g/ ^$ I, ]" s7 w+ w
  82. / X3 Q" X$ k( V: t$ O# m  V( _: J
  83.         delete menu;4 i0 L- }, C: G9 c: i6 W
  84.         delete submenu;
    9 f& a+ P2 i9 i' P
  85. }9 N- }+ z% X( e% n) k/ h
复制代码
7 F5 `. d$ o- H9 g) O, W
/ f& o) h/ }" r7 Q4 t
1 v2 T" ^+ g2 a1 M
NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子: ?8 ]+ k: [3 C6 @3 z* o
# m1 _2 Y' b( m
这里大概的模拟了下 部件导航器的功能!* |$ u9 H9 `* u) I) B7 E  J

) B4 s& p& F, [9 I1 A3 p
6 C& h! ?. H. A5 P' @; D1 ^

NX二次开发treelist控件

NX二次开发treelist控件
- j0 u2 o) u$ z! o: f

1 w. o: J6 d2 e" F& ?2 g

NX二次开发treelist控件

NX二次开发treelist控件
% r1 S$ p; C7 \3 R* z/ Z. }; l
9 u) p6 p; m4 g  R  N

NX二次开发treelist控件

NX二次开发treelist控件

7 P/ Q4 u0 ?& ?! L3 s7 ^; C& r
5 O' v' i) p0 d' v/ Y. O( Y
3 U) T4 F: j% }. U
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了