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 7449 0

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

admin 楼主

2014-2-12 19:13:34

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

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

x
  1. void tree::dialogShown_cb()
    8 O3 V5 Y( j, r& L6 p+ A
  2. {! ~. Y0 M9 C+ H  q, n! ?
  3.     try
      ^' r7 x4 N* y9 m+ r% F. K) X
  4.     {
    ) G" a+ @0 _4 @( c1 h' j7 w
  5.         //---- Enter your callback code here -----
    8 y; m% I8 K# }3 u0 Y/ ]; {
  6. 5 l' b* g4 V4 ~' n- r
  7.                                 
    / |( u6 A4 L- S6 s$ n" g) }
  8.                 tree_control0->InserTColumn(0,"Name",140);9 o9 K: q3 o6 ]
  9.                 tree_control0->InsertColumn(1,"Feature Type",90);3 G9 M2 y/ y0 M  K
  10.             tree_control0->InsertColumn(2," Up to Date",70);& Z' n% p1 F! |$ u6 p& R! e

  11. 8 \) Y: _) z# i. R' q
  12.                 tree_control0->SetColumnResizePolicy(0,Tree::ColumnResizePolicyConstantWidth);
    # b; l$ H' b, [9 b6 S
  13.                 tree_control0->SetColumnResizePolicy(1,Tree::ColumnResizePolicyConstantWidth);$ f2 s7 l+ ]: {
  14.                 tree_control0->SetColumnResizePolicy(2,Tree::ColumnResizePolicyConstantWidth);
    8 R* S& x' L) J9 W4 j
  15. 6 R4 I. C3 h  a% [+ u: l
  16.                 tree_control0->SetColumnDisplayType(2,Tree::ColumnDisplayIcon);9 h! p, q, p" g* Q4 v3 s

  17. " ?$ F7 p) B. b0 ~/ G4 {5 o
  18.                 // create historymode; Z$ U! `5 C6 a
  19.                 historyModeNode = createInsertParentNode(this->tree_control0,"History Mode" ,NULL,nodeIcons[0],nodeIcons[0],Tree::NodeInsertOptionAlwaysFirst);
    ( J$ Z6 }& i# a9 ~: W
  20.                 viewNode = createInsertParentNode(this->tree_control0,"Model Views" ,historyModeNode,nodeIcons[1],nodeIcons[1],Tree::NodeInsertOptionLast);' g! y$ L# _' a# ]+ K2 x1 O
  21.                 camerasNode = createInsertParentNode(this->tree_control0,"Cameras" ,viewNode,nodeIcons[2],nodeIcons[2],Tree::NodeInsertOptionLast);
    6 i1 ?. O0 W% I3 H$ j
  22.                 modelhistoryNode = createInsertParentNode(this->tree_control0,"Model History" ,camerasNode,nodeIcons[3],nodeIcons[3],Tree::NodeInsertOptionAlwaysLast);$ ?5 p$ @; D: X. Y, t, ?- K
  23.                 tree_control0->SetSortRootNodes(false);1 S( q1 k, y7 c1 ]0 [
  24.                 modelhistoryNode->Expand(Node::ExpandOptionExpand);
    6 I  n! F0 O: g2 R* [9 B6 }
  25.                 // get all the features with values 9 J! v5 }+ n$ k2 ]

  26. 4 _+ S( d( f4 L' E" V
  27.                 std::vector <Features::Feature *> nodeFeatures = getfeatures();" Z  }+ O+ O% _/ c3 F' K& H
  28.                 // insert the features3 z% K6 i' m( `6 z3 ~
  29.                 for(int i = 0 ; i < nodeFeatures.size();++i)
    2 O4 D, V  `2 W6 M$ j8 H
  30.                 {: ~" U0 t& Y& K. j% A
  31.                         Node *featureNode = tree_control0->CreateNode(nodeFeatures[i]->GetFeatureName());6 o* Q* `! {5 V/ t
  32.                         tree_control0->InsertNode(featureNode,modelhistoryNode,NULL,Tree::NodeInsertOptionLast);
    0 r# b. z1 v. N- K- f
  33.                         
    5 @; r" S/ \- Q6 |
  34.                         featureNode->SetColumnDisplayText(1,        nodeFeatures[i]->FeatureType());
    % ~% \$ A: G4 `
  35.                         featureNode->SetColumnDisplayText(2,"check");( v2 a  [2 R" g5 t
  36. 1 s) R6 M1 a& a) y- `6 H
  37.                 }
    ) z& u- u$ L  T) T  m
  38.         
    . Z, e. _! k9 x% `  n
  39. ! c  }" L) M# O4 m, C: s. d( z; A
  40.     }
    + F; w+ L1 A( V( C; A( [0 }
  41.     catch(exception& ex)
    , H, K9 z% `7 q0 M7 o
  42.     {
    0 B) Z* z: d  H% T
  43.         //---- Enter your exception handling code here -----
    5 _- O2 @0 s' T6 c
  44.         tree::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
    ' T. H1 |# G$ u' i9 M
  45.     }3 R# }/ e4 Q* y' l8 @" y/ `" [. |
  46. }! k- C7 c  m. ?
复制代码
# X3 y) z: r7 f/ p( A
7 g+ i- O6 ?( n- C) y* R
treelist的创建,需要在dialogShown_cb()里面定义treelist的内容: ?1 u! [4 R' p
0 ~% h- v2 w' r& i! |) x. \
首先通过InsertColumn 定义列,有了列才能创建节点Node
# p. h, W3 B$ r" H% ^! H2 l7 U& d0 b" n1 a' a; }" s
这个顺序非常重要!
  X8 u5 H. N, x$ ~: K3 `
2 A, ^0 S5 d2 v: U4 W" \

treelist 树控件创建

treelist 树控件创建

* J6 `& a/ u# V  C- A# s' w# }. j" A, k
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了