PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2014-2-12 19:10:15

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

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

x
  1. <p><div class="blockcode"><blockquote>( D: S( p- N+ n3 p, U, d

  2. # Q4 A3 D, ~# M* X. S5 {

  3. & e9 W9 }- {& p2 H" B
  4. enum MenuID
    ; S! n( X' M( v+ p# q
  5. {
    " j( u/ F5 d9 {, f, F
  6. RemovetopNode = 0,
    ) e) _7 w# c( _3 _& c8 u
  7. DeleteNode,: u2 @: C6 C: s9 I; t- `
  8. CheckedMenuItem,
    2 p) B; x. O# u) Q9 @6 W- J
  9. DefaultMenuItem,3 _$ F2 b# M1 Z7 p( m3 r
  10. DialogLaunchMenuItem,$ f2 J& K% k+ ]
  11. DisableMenuItem," D  r3 R; Q: b3 `$ b2 N9 a
  12. HiddenMenuItem,! g8 w! o1 _0 D$ q
  13. IconMenuItem,
      ^" p# a8 _0 U# s
  14. 1 L* _' o8 \' U6 W3 z
  15. SubMenuItem1,
    4 y7 L5 Y' g2 j7 B7 p
  16. SubMenuItem2,3 R- J% s- Q) ^) _0 z6 ]
  17. SubMenuItem3,
    ; T/ P5 o; ]# P" ~/ T" m* @1 y, L
  18. SubMenuItem4,0 f5 R7 ~( l- c, z

  19. * v) J# d: z( R1 k0 `. l
  20.         historymenu,. a2 Z/ F( {9 ?) W
  21.         nohistorymenu,& f1 {! _: b5 @. V$ l+ x- B
  22. & J1 v" U6 j8 v
  23.         modelhistoryfilter,- a, m1 n3 ^* M: O. p
  24.         filterSubMenuItem1,
    $ f) w& B; [4 t& M) `. Q6 K8 ~- l5 A
  25.         filterSubMenuItem2,
    7 X3 f9 F) V; {: G4 i
  26. ' f% [/ h5 S5 |* W% g$ `
  27. - X+ |8 P. P! P. T5 {) V! N
  28. };8 _8 h1 r  ?  m
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )
    ) }  }, p& T5 s) T" O
  30. {
    ! N& m4 [& R: u2 I
  31.         TreeListMenu *menu= tree->CreateMenu();- _5 Z8 S; B$ P- X: w
  32.         TreeListMenu *submenu = tree->CreateMenu();) p1 P2 [; N, Q" X
  33.         if(node==NULL)" z( I; r& T$ m
  34.         {
    7 w7 K/ s9 v3 \
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");/ l( V# E3 u0 E& T. J7 k( S
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
    ; o: E9 q& g. E
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
    8 X+ M( L' V7 z% S" ?. S
  38.         menu->AddSeperator();$ b5 F6 b$ o+ x$ d4 a
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");1 b% r) z1 O% u* o- T6 O$ @
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");
    - ^$ f! o0 T# S8 T: `1 S
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");
    % |% p! X; }. a4 [4 ^- H! P: I' P
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");
    % `- E1 R" o* v8 E0 o
  43. ( x3 D( x. x6 P; g
  44.         menu->SetItemDefault(DefaultMenuItem,true);
    : F5 G$ A* c* ~
  45.         menu->SetItemChecked(CheckedMenuItem,true);
    0 C) }$ |  h: J: E( |) T: i
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
    + q/ O2 e3 _# L* s
  47.         menu->SetItemDisable(DisableMenuItem,true);9 i; t# u5 U# s, I3 S  E' ]) B# T
  48.         menu->SetItemHidden(HiddenMenuItem,true);# G+ @0 k& v% [6 x% s4 a1 C
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");
    9 N4 N& y% c" f1 ^
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");6 ~: E$ ?( O9 W5 i
  51. 5 }1 e4 g3 n" a" U, ^
  52.         // submenu
    , `3 R: W9 T0 Z, u7 f# x3 T
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");' _* T, K4 v- e$ T4 r- y/ ]7 u' d6 t) c
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");
    8 y7 M3 r* h/ A6 Q4 n$ ~
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");! F3 M$ N! a! j. R) Q
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");
    ) `  y! ?- a4 I* h& X6 `

  57. 3 y) J  r9 V4 m! q$ k& e  `8 z
  58.         menu->SetSubMenu(RemovetopNode,submenu);
    ' E, Z. C  A  k6 P
  59. : C1 T6 U3 u' q- L6 x2 k2 s
  60.         }
    4 a6 s1 T+ q+ }) Y8 W( Q
  61. else; P8 `. B) c) `% y% j, M
  62.         {
    # Y, X$ E0 Q% S1 l/ b. M0 _- n
  63.         if(node==modelhistoryNode)
    ; t% c8 l. F  G% o' M8 H/ K
  64. , r. Q/ F9 U# q2 Y5 o0 V1 ?7 o9 j* Q
  65.         {
    2 ~2 C& k% G  E9 ]
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");
    - j7 y( S# k; b' R( X
  67.         // submenu9 Q8 N& ^/ @7 z: c9 r4 T7 ^
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");4 a/ J. T+ B7 ?0 M6 a
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");
    6 {1 P$ p) J3 v. Z6 l
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);
    0 s/ d+ ?( y4 x& R; q8 g  N) X/ U
  71.         }
    8 ?) `2 ~3 t- P( s( ?
  72.         else if (node==historyModeNode)
    ; C% K7 f$ [0 E8 }
  73.         {' C) N4 r% R. z
  74.         menu->AddMenuItem(historymenu,"History Mode");
    $ G; T5 j. `0 T! ]8 V9 W
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");
    ! h+ p% e( M4 t% P- ]
  76.         menu->SetItemIcon(historymenu,"check");. _3 e8 W& g+ y2 z
  77. }- J/ L9 g  e1 o% s

  78. ; }3 t0 |2 Z: R/ t
  79.         }$ J; |; K) h" `9 S! X

  80. & e/ n4 u' u5 k1 f/ l; `
  81.         tree_control0->SetMenu(menu);/ ~( l7 O1 \( V! l" w
  82. " k% l, I* ^6 W, t7 Z
  83.         delete menu;
    8 L4 e+ `; M9 c& }- ?' b$ k
  84.         delete submenu;! y# ^5 X6 V! X
  85. }
    0 R. u# D; _- z7 l/ Z
复制代码

. ]* ]6 [0 w4 B6 T0 ]9 V$ a* o. Z
1 S* w; q0 D) E, e7 R- ^, F
. f# D8 `/ E8 VNX二次开发treelist控件添加右键快捷菜单回调函数的简单例子7 I" \4 y( N! ]; J6 h, r, I! a! d

5 N" ^- E" O8 C1 A; ]# S这里大概的模拟了下 部件导航器的功能!) t9 V7 H4 P# M7 q4 f- D; p  I
" v, C$ n) `+ J

/ ~+ N! H! _6 u. f# J& X

NX二次开发treelist控件

NX二次开发treelist控件
. [+ O; m3 {( Z( K  V+ P2 W
5 F/ v9 }: \  j, i/ B* ~4 z) `. z

NX二次开发treelist控件

NX二次开发treelist控件
2 S; [! o. C8 [" o8 ]$ X8 |$ L: v
2 Q' P+ y4 t( Y1 e  v

NX二次开发treelist控件

NX二次开发treelist控件
$ h$ B5 z5 J2 P7 ]6 j) d6 X( M' g  R
& J  s; E$ v8 _2 `
  o6 n% D4 t! c
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了