PLM之家精品课程培训,联系电话:18301858168 QQ: 939801026

  • NX二次开培训

    NX二次开培训

    适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术对于老鸟也值得借鉴!.

    NX CAM二次开发培训报名 NX二次开发基础培训报名
  • PLM之家Catia CAA二次开发培训

    Catia二次开发培训

    Catia二次开发的市场大,这方面开发人才少,难度大。所以只要你掌握了开发,那么潜力巨大,随着时间的积累,你必将有所用武之地!

  • PLM之Teamcenter最佳学习方案

    Teamcenter培训

    用户应用基础培训,管理员基础培训,管理员高级培训,二次开发培训应有尽有,只要你感兴趣肯学习,专业多年经验大师级打造!

  • PLM之Tecnomatix制造领域培训

    Tecnomatix培训

    想了解制造领域数字化吗?想了解工厂,生产线设计吗?数字化双胞胎,工业4.0吗?我们的课程虚位以待!

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

[二次开发源码] NX二次开发中treelist 树控件创建的逻辑过程

[复制链接]

2014-2-12 19:13:34 7359 0

admin 发表于 2014-2-12 19:13:34 |阅读模式

admin 楼主

2014-2-12 19:13:34

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

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

x
  1. void tree::dialogShown_cb()/ T6 E# B/ Z- n2 H5 h- Y
  2. {) e# E' }( q3 e
  3.     try1 v, G4 m) ?4 a) w
  4.     {
    # m% S4 }; w: r, K
  5.         //---- Enter your callback code here -----
    ! j$ x: p# @- Z- y" q1 T
  6. - C" g4 ?/ }! \, `7 e) h7 C9 a
  7.                                 ' r) N6 d8 e7 a0 w( j/ w6 W
  8.                 tree_control0->InserTColumn(0,"Name",140);
    3 v' ^% ?- h) _5 I: O
  9.                 tree_control0->InsertColumn(1,"Feature Type",90);- S' l: e/ E$ l6 U( `1 a& k
  10.             tree_control0->InsertColumn(2," Up to Date",70);# }# H0 m( G0 c, B
  11. % M7 t! F: j6 o9 e- F0 v
  12.                 tree_control0->SetColumnResizePolicy(0,Tree::ColumnResizePolicyConstantWidth);
    + S9 |1 Z* d; l& c" I7 I
  13.                 tree_control0->SetColumnResizePolicy(1,Tree::ColumnResizePolicyConstantWidth);
    , I3 M2 y( W# l" |: A
  14.                 tree_control0->SetColumnResizePolicy(2,Tree::ColumnResizePolicyConstantWidth);
    2 D+ S1 N/ B, F  W" d. a- p; n2 k- z

  15. ! R  ?0 l. ^$ W
  16.                 tree_control0->SetColumnDisplayType(2,Tree::ColumnDisplayIcon);3 K2 T- L9 ?; A# N# P# a

  17. & C( S1 W0 R; @0 W- d9 ~; K
  18.                 // create historymode
    : v. ]1 w& B. w
  19.                 historyModeNode = createInsertParentNode(this->tree_control0,"History Mode" ,NULL,nodeIcons[0],nodeIcons[0],Tree::NodeInsertOptionAlwaysFirst);3 c! A3 n( y/ p1 r* v
  20.                 viewNode = createInsertParentNode(this->tree_control0,"Model Views" ,historyModeNode,nodeIcons[1],nodeIcons[1],Tree::NodeInsertOptionLast);# }: c1 O  y' p, e
  21.                 camerasNode = createInsertParentNode(this->tree_control0,"Cameras" ,viewNode,nodeIcons[2],nodeIcons[2],Tree::NodeInsertOptionLast);
    0 \- u1 F, C7 G
  22.                 modelhistoryNode = createInsertParentNode(this->tree_control0,"Model History" ,camerasNode,nodeIcons[3],nodeIcons[3],Tree::NodeInsertOptionAlwaysLast);- }- I5 Z  Q1 e$ v
  23.                 tree_control0->SetSortRootNodes(false);/ `" k+ R7 Q% S; Y) T* g1 u
  24.                 modelhistoryNode->Expand(Node::ExpandOptionExpand);
    ' v) ]4 r  Q& b' C+ ~$ t
  25.                 // get all the features with values ( w" l0 v' `+ B, a( }

  26. % i. K, u, }# [& r7 H# `
  27.                 std::vector <Features::Feature *> nodeFeatures = getfeatures();
    3 e. e4 A! `3 ?) h- W! b+ {  Z
  28.                 // insert the features
    % V% m6 M+ L- C) B% t- R  o! j- g3 S
  29.                 for(int i = 0 ; i < nodeFeatures.size();++i)( P: S+ z  K" @5 ~
  30.                 {
    : o9 J6 D9 U8 V: H! y' V* ]
  31.                         Node *featureNode = tree_control0->CreateNode(nodeFeatures[i]->GetFeatureName());
    3 I! o( g) w$ V7 {
  32.                         tree_control0->InsertNode(featureNode,modelhistoryNode,NULL,Tree::NodeInsertOptionLast);
    0 L0 I$ p$ m0 m, o3 A' T" s9 K
  33.                         ! L  p2 v/ L2 S! m" C
  34.                         featureNode->SetColumnDisplayText(1,        nodeFeatures[i]->FeatureType());
    ; k  E4 c0 m% ^# @& s! ]; ~0 }" R
  35.                         featureNode->SetColumnDisplayText(2,"check");
    3 o$ \: r1 G4 _+ R% s7 ~
  36. " }3 K0 P! ]; v6 O
  37.                 }
    + E6 B: ]' E9 Q; p% ]
  38.         
    1 D1 o* ]; E  r# p' g& y

  39. . [/ V6 x+ J# K' L/ A
  40.     }& a5 D) p- J3 c+ W' U2 o. h
  41.     catch(exception& ex)
    $ C5 \1 a1 h+ R; G' c% [
  42.     {
    1 m) C2 G; o6 z0 z/ T
  43.         //---- Enter your exception handling code here -----' I$ ^* {% V3 C& o! {# Y
  44.         tree::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
    0 I9 g1 w$ Z6 D& R6 {2 l/ k
  45.     }
    # ]4 p- {, T! w0 r7 t( B  s
  46. }
    : ~+ I: `' P* A
复制代码
# k0 @0 h$ }1 e4 H
" B( B( [7 {& Y7 w- e6 u
treelist的创建,需要在dialogShown_cb()里面定义treelist的内容. `  G9 X3 X. T  t) v

& `/ b5 S, @2 H) f- |2 ]首先通过InsertColumn 定义列,有了列才能创建节点Node
2 s* d* K$ _  w+ A( N- p- b7 o: o. t" r5 n: k
这个顺序非常重要!
9 V! O# @4 v  P+ m2 f+ T+ w' G1 v9 L

treelist 树控件创建

treelist 树控件创建

' c/ x* Y+ A) Q! C* _3 P5 i0 G2 [0 {* o2 E5 p
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了