PLM之家PLMHome-工业软件践行者

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

[复制链接]

2014-2-12 19:10:15 5550 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 l* n5 m6 i! a
  2. % x0 W+ ^: X9 }: t

  3. 7 z, w% ^( [5 x4 ~
  4. enum MenuID; o) r- v  i) G8 ^4 @
  5. {9 E0 p4 O% A/ C3 Y7 E8 K+ I2 ]
  6. RemovetopNode = 0,
    ( n1 @/ u8 z  v/ m- O' a$ b# s
  7. DeleteNode,0 d% o5 ?/ a, G% X, ]
  8. CheckedMenuItem,
    1 G8 y1 o3 W. ?8 F( k
  9. DefaultMenuItem,
    ) d$ Y: I7 E3 o- B4 C! Q1 K
  10. DialogLaunchMenuItem,) e- o7 w* O$ h& Y! w
  11. DisableMenuItem,, I! _6 a  B( a: Q+ V3 e
  12. HiddenMenuItem," f" J5 _$ J9 R7 y6 ]# }
  13. IconMenuItem,  ^. l; s: M  |8 B0 O6 w, W

  14. % Z* k$ U6 K4 x8 x; [
  15. SubMenuItem1,( P2 k$ r$ U+ {; r/ I
  16. SubMenuItem2,: E9 E/ T9 w( M
  17. SubMenuItem3,
    8 D; \; x0 T& C1 M% t4 \
  18. SubMenuItem4,& q0 f" W; H* X0 {1 V

  19. 2 ]( e$ ^( L' P
  20.         historymenu,
    ( V9 x5 V1 O& b( o8 n# U! K
  21.         nohistorymenu,
    7 T9 f/ _4 }* R# X
  22. / o# Y5 G- t3 t7 u( `
  23.         modelhistoryfilter,
    ( {: T$ R% C, E* \% q  V7 N
  24.         filterSubMenuItem1,$ H1 A) T* [: t9 l, U9 k  X6 e$ P
  25.         filterSubMenuItem2,' k* L; f' u/ Y: K, C
  26. $ L- @8 n0 o! J: l  ?
  27. , b$ C3 b- t6 w
  28. };
    & L& u, S4 O! c- L. J( D/ `
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )/ @' X( n& q! Z4 N& r3 |* ~
  30. {
    ' {: i9 L8 F3 Y* ~2 q" [
  31.         TreeListMenu *menu= tree->CreateMenu();) i+ l8 O& |: @$ ?1 ?
  32.         TreeListMenu *submenu = tree->CreateMenu();
    " E+ R5 m5 B! _( b" _7 q& ]
  33.         if(node==NULL)
    - P  q$ l; j- E$ f( I: p/ b7 [: I
  34.         {
    # i- G& F8 k+ v! ^5 J, P
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");
    8 A" B; k4 Z) L2 t: E5 j
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");7 P& e6 p. x, B6 M; ?
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");9 b) ~! h% V) c6 f
  38.         menu->AddSeperator();
    * p+ W+ a% G% I# G
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");7 U/ W% d% Q! f! _
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");  W3 F9 U& M  F+ D* b
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");9 D5 k6 v8 H/ i9 s
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");
    ( r6 B2 y  u6 ^6 C8 }+ H( K. F
  43. ; H" M" c' S$ h% m
  44.         menu->SetItemDefault(DefaultMenuItem,true);0 H+ ^$ m' M4 D; n
  45.         menu->SetItemChecked(CheckedMenuItem,true);
    4 e; B2 M; P- O4 X
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
    ( n) n3 B  T0 `- f+ E: v
  47.         menu->SetItemDisable(DisableMenuItem,true);
    ! O% [- E; M$ @. ]% t0 q  _6 M5 G
  48.         menu->SetItemHidden(HiddenMenuItem,true);
    $ ~  z* H, F% j# I' F  t9 V
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");
    7 {  O5 o  X4 h* \4 E- A% v. |
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");  d4 m& N: f  U7 H. f+ m

  51. 7 h; s  C% u2 V
  52.         // submenu
    7 J+ E4 d7 J4 \/ K
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");
    6 C# D5 c  a2 z& k: ~7 ?# v
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");# a! l5 g  E$ @# d
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");
    / {  _2 U! @$ k4 C
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");
    2 w& ?- n" c1 F. P. T

  57. % j4 z( w3 g) o1 r6 k
  58.         menu->SetSubMenu(RemovetopNode,submenu);1 K0 C! `8 |- l

  59. 3 C5 k" K$ Q6 g8 V6 O
  60.         }
    / [5 ]/ i7 S) ^% C. n7 a  V
  61. else
    7 Y7 t9 D$ V8 E* O& o1 S
  62.         {3 N+ a1 Q, g+ w& k  |9 L# Q/ |
  63.         if(node==modelhistoryNode)0 V" _/ e; p, T0 f
  64. " I5 y; n4 H+ Y: Z6 r! S
  65.         {+ @# v" }9 n6 i( U
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");' s4 w$ d5 J+ y
  67.         // submenu
    + ^; q0 \& U: q! q6 ~
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");9 G& ^% \+ o( M! i: Q8 ?
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");
    9 o- R. ]5 k8 P, i& ]6 T  x
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);
    . p* k1 Q% ]4 y& V* b' n7 Z
  71.         }
      I# M4 S2 y9 E: O: U( o
  72.         else if (node==historyModeNode)) y% Z  t7 |" }9 F6 W( J9 ?: H
  73.         {
    / S, I* o+ Q" @# u& U
  74.         menu->AddMenuItem(historymenu,"History Mode");
    1 _" t/ ]# S9 {4 g
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");
    , `/ Z9 }% S, r! D9 U: D6 h1 C
  76.         menu->SetItemIcon(historymenu,"check");+ q+ V, I( P6 L! i! j
  77. }
    : R2 ^3 ^( y8 u  q; ^* r
  78. . \4 B) E% R' s/ T) g- ?
  79.         }, E+ n+ l0 c/ v1 n$ I
  80. " ?! d' K% V& y+ i# t1 c2 o6 ]
  81.         tree_control0->SetMenu(menu);9 x6 ]2 P- J/ E; Q

  82. ( ?/ y! H; D) r9 m' o4 ~$ d
  83.         delete menu;' }0 S2 {; J7 ~  f
  84.         delete submenu;
    ; f8 n$ m9 T+ [3 Z
  85. }
    # R8 w5 H- g( W
复制代码

+ X' F# {3 L0 x8 d9 ?! t7 V( }- e
# u* l" X9 x% U% p* ]! \
; L% s+ f2 Q6 ~. a$ pNX二次开发treelist控件添加右键快捷菜单回调函数的简单例子
  n' W0 e7 P4 ^7 ?; \( ]% Y# g/ i9 g9 Y6 q, c! @
这里大概的模拟了下 部件导航器的功能!5 `9 G$ I( C' J* ?) L$ t

# Z( K7 A. V% P" m* |5 |7 J2 A  U3 o9 d3 z. M. K

NX二次开发treelist控件

NX二次开发treelist控件
! H% n* t, o9 o

3 ?5 {2 r" K! V7 a7 P8 c0 ~2 V& z

NX二次开发treelist控件

NX二次开发treelist控件
) P( W; ~! h- Z' n, O

2 S5 G+ v' {, D' l- v' r1 `

NX二次开发treelist控件

NX二次开发treelist控件
( Z7 E# y' \3 k; o- I

- M% [" Y8 ~7 [+ s5 ]* H5 I: Y2 f& j2 I* y- `
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了