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

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

[复制链接]

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

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

admin 楼主

2014-2-12 19:10:15

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

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

x
  1. <p><div class="blockcode"><blockquote>, x1 I2 C% R/ N6 n7 R: v4 ^

  2. / h7 I" |# B; B9 c
  3. # u# u0 c& P. C: v) B
  4. enum MenuID, e! Q# L3 c2 U' J' V
  5. {3 `1 ~/ o$ Y- }/ @
  6. RemovetopNode = 0,5 r3 q; R: }& E1 n/ q0 i
  7. DeleteNode,8 j' _1 N4 c% @# m  B& t
  8. CheckedMenuItem,$ t# p. Z- f7 D. E* {. R. b$ K
  9. DefaultMenuItem,0 }' |+ c7 W! A) x* Q$ S
  10. DialogLaunchMenuItem,8 J! ^- m3 I# f
  11. DisableMenuItem,7 I2 H/ `+ x' @: \; {/ L
  12. HiddenMenuItem,
    8 O, K1 n- Q+ T8 v
  13. IconMenuItem,
    5 X; l9 \; C. J+ n7 a& E0 w5 n
  14.   Y) q# K  l! e0 R, _2 j
  15. SubMenuItem1,0 `- k9 ]2 T- j. {  L9 a
  16. SubMenuItem2,
    & F& ]2 n5 b; m! L0 U' C
  17. SubMenuItem3,* c5 [$ H: F" h' Z5 |. [
  18. SubMenuItem4,9 {  ]) _+ y4 Q& I3 Y

  19. . w+ Z) E& @5 d4 j
  20.         historymenu,9 l' x' v! A  k! f( E0 y
  21.         nohistorymenu,
    3 G6 b) n* d$ X: L6 `$ W7 a3 f

  22. 9 L) O7 D1 h7 Q( S9 p9 Z1 W
  23.         modelhistoryfilter,5 U9 O; O, e& J6 d3 s! }
  24.         filterSubMenuItem1,1 u/ t/ l. F# E" T, P
  25.         filterSubMenuItem2,7 t% i6 i/ [8 j, R$ Y  q  v# z$ s

  26.   N+ l' W5 I4 N- q

  27. : O! h- E6 }% X) p: ^
  28. };
    % {7 {. Q4 D2 }3 f# K- a1 [7 [' i
  29. void tree::OnMenuCallback(NXOpen::BlockStyler::Tree *tree, NXOpen::BlockStyler::Node *node, int columnID )$ O: c' q# O8 z; L) I6 P
  30. {
    - k3 F' |0 Z6 r; H* D
  31.         TreeListMenu *menu= tree->CreateMenu();
    & W" \$ E" M0 P, `+ h+ `; F
  32.         TreeListMenu *submenu = tree->CreateMenu();
    1 ^1 S& c+ @; ^, v, L
  33.         if(node==NULL)
    8 o1 ]: o5 O  v: Z( K
  34.         {
    ( g- |# W+ a$ L# x8 }! ?; {
  35.         menu->AddMenuItem(RemovetopNode,"Remove Top Node","delete");
    : y- O0 ?, ^6 E: V+ b8 ]$ k
  36.         menu->AddMenuItem(CheckedMenuItem,"Checked Menu Item");
    4 R4 h1 s, w$ J4 j8 a0 D$ V4 P
  37.         menu->AddMenuItem(DefaultMenuItem,"Default Menu Item");
    ' b0 e& ^9 J& {" `0 u2 r0 F
  38.         menu->AddSeperator();# [8 D" m/ I' C
  39.         menu->AddMenuItem(DialogLaunchMenuItem,"DialogLaunchMenuItem");9 D) d& F. I% h* \* i& h- w6 A6 G: v
  40.         menu->AddMenuItem(DisableMenuItem,"DisableMenuItem");
      `' [+ S0 A  U# U
  41.         menu->AddMenuItem(HiddenMenuItem,"HiddenMenuItem");2 B: u" e/ K5 c. _  Z3 ?
  42.         menu->AddMenuItem(IconMenuItem,"IconMenuItem");
    ; O: [2 x- G0 Z1 C
  43. / A; R( A+ d/ Q3 M
  44.         menu->SetItemDefault(DefaultMenuItem,true);' t9 ]/ N' k) ~0 m9 a
  45.         menu->SetItemChecked(CheckedMenuItem,true);& r) A; A$ p( |+ _6 @, e
  46.         menu->SetItemDialogLaunching(DialogLaunchMenuItem,true);
    % w) M5 R8 d' ]7 X7 z: u
  47.         menu->SetItemDisable(DisableMenuItem,true);
    & x" T0 K6 K5 M6 T
  48.         menu->SetItemHidden(HiddenMenuItem,true);
    $ W3 p! |& b7 V
  49.         menu->SetItemIcon(IconMenuItem,"skeTCh");* n$ l4 P4 {9 X5 v1 F- g. y! v
  50.         menu->SetItemText(RemovetopNode,"Remove Top Nodes");" e& G. M5 X% d& }- v
  51.   T) B9 g- e. L5 r  k, M
  52.         // submenu* Y3 D8 |8 I1 D' J# n9 ?
  53.         submenu->AddMenuItem( SubMenuItem1,"Model Views");! F* G$ ~: i! |0 J. a2 o
  54.         submenu->AddMenuItem( SubMenuItem2,"Cameras");. @) a1 g/ {+ V/ a8 N* l
  55.         submenu->AddMenuItem( SubMenuItem3,"Model History");& S  F7 @# V5 r, \' [. n
  56.         submenu->AddMenuItem( SubMenuItem4,"History Model");
    : I1 g! Y4 u' M7 ?2 K

  57. 9 |* N+ N0 X6 F, ^, b
  58.         menu->SetSubMenu(RemovetopNode,submenu);
    1 j; p) h/ ^& }! N6 c& |! r' x1 P
  59. # a1 U+ @. {/ E/ a7 q
  60.         }
    3 F* V$ D# V5 Z4 S% l( t6 r" }& u' ?
  61. else
    ( D6 s; }5 W  [
  62.         {2 v6 G, Q6 j4 ~" Z
  63.         if(node==modelhistoryNode)
    ( X# ^) s6 b) E2 k( l2 g

  64. ' a5 @9 k0 c# c3 w
  65.         {
    - e' h' w8 Z2 }$ _
  66.         menu->AddMenuItem(modelhistoryfilter,"Filter");
    ' M9 z' R. |& v+ {. [+ g
  67.         // submenu
    & ^! U$ L: J0 Y; K- Z
  68.         submenu->AddMenuItem( filterSubMenuItem1,"Remove Item");  p& f; v/ Z7 R8 v' c
  69.         submenu->AddMenuItem( filterSubMenuItem2,"Remove All But Item");: B1 {& I# F; `5 W! g* Q1 \
  70.         menu->SetSubMenu(modelhistoryfilter,submenu);7 D% k2 U9 n( _' P
  71.         }
    * M0 r+ K+ j) A9 d- \3 P
  72.         else if (node==historyModeNode)% Y! d8 M4 I# \8 y' Y* t6 f
  73.         {: V3 k6 y" c3 d% m. `7 g, |* U
  74.         menu->AddMenuItem(historymenu,"History Mode");# b( h/ J$ ]5 {7 U- ~
  75.         menu->AddMenuItem(nohistorymenu,"History-Free Mode");3 d8 n& C( M, O2 Y/ d4 ]
  76.         menu->SetItemIcon(historymenu,"check");* k7 h7 Y, \% k
  77. }  e$ T3 d6 a; h5 m
  78. / O- M: X3 w% @8 D
  79.         }9 z0 v( g+ \9 Q" h5 a  b6 P
  80. 8 y9 J8 I, i. y- U) G+ f
  81.         tree_control0->SetMenu(menu);
    $ R: Q& ~$ Z$ q" r; R% \1 }
  82. 9 P- r  Z" t3 Q1 s+ O
  83.         delete menu;
    ; s. z& E! v, r! {9 L
  84.         delete submenu;
    5 M% B" m/ r& v' ]3 Z# A
  85. }; }* V! J8 Z6 W. ^5 a, o
复制代码
6 k1 @* Q& u" q! d. K

  U, h/ T0 |4 U. c6 [
) {7 A& Z# Q  }% fNX二次开发treelist控件添加右键快捷菜单回调函数的简单例子
" b, h! ~' q, N, }. i7 E+ d. g0 Z' Z1 _; x$ e  k3 ]$ ?: M
这里大概的模拟了下 部件导航器的功能!0 c0 |. D( u% B8 N; S% i7 R
" [) B, s- C* ^3 p) G

6 ^( g6 J, Y( T  ?

NX二次开发treelist控件

NX二次开发treelist控件

& W' v. ?' h* K" x. j: v( s) O
/ B) C- b- Z$ ~8 I8 U

NX二次开发treelist控件

NX二次开发treelist控件

  m, a( \5 m0 ~( v* v& Z" T0 I2 g$ ]' ]

NX二次开发treelist控件

NX二次开发treelist控件
3 j7 ?! d, u/ H: X: ~2 i

4 X" T* K4 o+ E, `" k6 R9 m6 T! v% d; n5 V- M
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了