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

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

[复制链接]

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

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

admin 楼主

2014-2-12 19:10:15

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

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

x
  1. <p><div class="blockcode"><blockquote>
      S- `' R9 P1 Y. L# p

  2. 4 @; N5 m3 Q) R2 K; O9 n
  3. , T) j; h- }2 B
  4. enum MenuID  c8 ~, r9 `* B8 l% Q
  5. {: J5 x7 E( q8 [& ~: B/ x
  6. RemovetopNode = 0,7 I/ X7 P0 J( G3 W' X( V
  7. DeleteNode,
    % v) ^4 K, W0 K  p# Z
  8. CheckedMenuItem,
    2 a2 ]% b, z" _- L9 \
  9. DefaultMenuItem," @( j2 M( O4 p- ]" v' M
  10. DialogLaunchMenuItem,
    # I0 d8 P( Z8 V5 c( r: [
  11. DisableMenuItem,
    $ ?; A( f6 l" l. D' X7 s
  12. HiddenMenuItem,4 D. Z+ k7 m  i' ~; T5 N1 ?
  13. IconMenuItem,
    3 m5 y5 d7 {# Z2 k$ y

  14. 1 m4 C6 o4 i/ g) N  D3 T( w
  15. SubMenuItem1,. R* y) e2 E8 F5 |0 d' F! S
  16. SubMenuItem2,
    8 H$ \+ f  ?. e5 h  @
  17. SubMenuItem3,
    , P! E4 t# m; X8 Z+ W+ h
  18. SubMenuItem4,
    ! j- }* c- a* T3 M5 ~, ~% k

  19. 0 ~. @  Z) }% r# b, @/ t
  20.         historymenu,  b1 p& q0 `2 Z
  21.         nohistorymenu,
    2 T/ ~! }3 H! x3 G
  22. ! U+ X' Y& ^( ]. S& ^: e8 _! i; V0 b
  23.         modelhistoryfilter,' I) k  ^! E  s& _
  24.         filterSubMenuItem1,
    ( R/ u( }- q9 U0 ^# V3 ?! b
  25.         filterSubMenuItem2,5 e) p1 u$ N& S9 P( D% b  z7 h
  26. 9 N" v2 _: A" O
  27. 0 U; W6 i0 j" g7 ~
  28. };! a# m* W% v( y) z" N3 |+ _" x: a
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )8 j4 |( }# }4 \& n
  30. {* |. N6 M5 A6 {4 ?5 p
  31.         TreeListMenu *menu= tree->CreateMenu();! P2 b) g7 |$ [# m
  32.         TreeListMenu *submenu = tree->CreateMenu();
    ! q: D! [4 P* L8 I8 D9 f
  33.         if(node==NULL)
    8 n9 b7 K2 ?- i8 k- ?* M- W" N, P
  34.         {
    + |+ \3 d: ^. j: }* k- d9 a
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");% U. B& I- t' Z2 m# C0 v& `
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
    ' A' ^, a# J" S; h( G, _2 G- ?
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
    % q0 @) G( i$ n6 m% [2 g' {8 z
  38.         menu->AddSeperator();
    - f5 B- K% S( n7 Y& Y9 \
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");
    & d; @- k0 H3 F2 z, O
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");7 g) T# T" c3 Y! c/ ]0 V( H( [
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
    - k& O7 S- J) R6 K, X) f9 I/ q8 B/ H
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");6 Y' ]1 R* v0 R# j
  43. : i/ x0 c2 t- F
  44.         menu->SetItemDefault(DefaultMenuItem,true);
    , g0 L6 o. ~1 h# }
  45.         menu->SetItemChecked(CheckedMenuItem,true);- _3 j2 t3 |7 g4 l, m3 ], _- b* ~
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);0 P5 Y/ ]" i: a$ O
  47.         menu->SetItemDisable(DisableMenuItem,true);+ z5 E: h3 S; Z; @9 W- Z
  48.         menu->SetItemHidden(HiddenMenuItem,true);/ ]+ M, y1 E/ k( s
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");& T) u# E: y" f$ e: M/ P
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");% K- R+ C# W+ G0 V/ M4 b
  51. ' E5 X/ t/ T8 X
  52.         // submenu& a( r" y) X& ]) c3 ]$ V
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");
    ) W5 W6 @1 ?2 m, V0 Q
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");! v7 A8 l1 V( b
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");6 Q. `$ o' w/ z/ w- z# a  E
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");1 v, u" D5 G" B5 @+ M% x' r! d

  57. 5 {/ x6 ~1 E: ^) }' |5 [% X
  58.         menu->SetSubMenu(RemovetopNode,submenu);3 X" |: i4 ]0 Y. x
  59. 5 @  B+ T, j" b/ T
  60.         }
    / C/ k1 U+ f- ^5 r- Y% T
  61. else
    & x) g& y; L3 T% n
  62.         {
    8 K: U" v$ K: _) t; t
  63.         if(node==modelhistoryNode)
    ! i( L* }; K) T" h" B1 k0 [

  64. ' \2 R) _% @+ a, a! B$ d
  65.         {# ]7 X; m' s9 g1 Z; d" c9 [4 m
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");+ Z% b+ t& w5 ^; E7 a
  67.         // submenu6 ]: K, \9 V0 M
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");
    & w" N- u3 ~3 s8 o
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");$ K) d+ s( d* N3 Y! j5 m
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);- R+ T6 s/ {0 v# _
  71.         }
    7 M' C# Q" i2 ]+ k0 ?. E1 Y( E$ B
  72.         else if (node==historyModeNode)
    2 |' n* g5 s# ?+ u1 |- \
  73.         {
    1 [6 _5 {5 S6 V; h! I: z
  74.         menu->AddMenuItem(historymenu,"History Mode");
    ) \$ s0 K  u( C$ o9 a
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");
    5 D' W$ {0 v5 L6 j- T+ D
  76.         menu->SetItemIcon(historymenu,"check");
    - z& B9 ^4 U2 ?; Y+ n% T5 x6 f
  77. }
    8 u/ V& Q8 A/ ?* m2 Y/ |; U

  78. . q; C: Q9 ]7 K0 ]' q
  79.         }
    ) ~4 P( V1 ^  G4 c
  80. - |5 H! j" w+ x4 g3 k# M
  81.         tree_control0->SetMenu(menu);
    ( j1 H, r7 G% {# ^* v. ~

  82. + s1 ?& I, u1 G7 |* ]
  83.         delete menu;0 h0 Y3 A  s5 l0 k/ c. Y) M% g
  84.         delete submenu;; {  c! B4 X- b( u6 }" S
  85. }
    3 z9 D  ?) P* ~. N0 {
复制代码

! d* J2 Y/ w& Y  D1 F# G5 [2 _" b! d, {+ q+ w5 b6 O/ G

0 ?, T6 H4 ^. `! f! E+ }NX二次开发treelist控件添加右键快捷菜单回调函数的简单例子# f$ i& [$ Z% y8 [/ l* v5 D

( Y0 G8 u' v0 f7 {7 d# Y, j这里大概的模拟了下 部件导航器的功能!
& B# \! E& n& s; u2 \  j. d( w. G, B9 I+ M

: h  n8 a* I  W

NX二次开发treelist控件

NX二次开发treelist控件
- t: D/ K9 X! N$ }- ?4 d9 _

) C; _9 f. m% g% L9 s* q# H3 j1 v

NX二次开发treelist控件

NX二次开发treelist控件

4 r/ L- c: n9 c# b% p8 p- ~) R3 F% v; {7 Y

NX二次开发treelist控件

NX二次开发treelist控件
1 ~$ S( K+ e' P$ ^

' }, [9 y" k, F
" w, n# n+ j) I
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了