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

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

admin 楼主

2014-2-12 19:13:34

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

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

x
  1. void tree::dialogShown_cb()
    5 o& G9 W4 `$ I, Q; ], l) i0 n( g: H
  2. {
    . h+ p( \1 u9 v) Z* c
  3.     try# O; Y) u5 `- v* e  M  E
  4.     {
    # Y' O/ B9 w  a% u) [. p
  5.         //---- Enter your callback code here -----* S& t" a1 X" ^6 u- U% L

  6. 7 V) e7 a, P( }! h) n6 [$ K( |
  7.                                 ( w( D$ o# }- |6 _% V
  8.                 tree_control0->InserTColumn(0,"Name",140);0 f+ h/ w+ |$ w( l6 V
  9.                 tree_control0->InsertColumn(1,"Feature Type",90);  X* H/ P/ p: z' l
  10.             tree_control0->InsertColumn(2," Up to Date",70);, G/ P$ _6 B; U' |2 N/ v% r

  11. + u) ~% N* l! Y8 y
  12.                 tree_control0->SetColumnResizePolicy(0,Tree::ColumnResizePolicyConstantWidth);
    : P5 q( v6 U- J  H
  13.                 tree_control0->SetColumnResizePolicy(1,Tree::ColumnResizePolicyConstantWidth);- y& j/ i, I9 ^- w
  14.                 tree_control0->SetColumnResizePolicy(2,Tree::ColumnResizePolicyConstantWidth);7 C( J8 \0 L0 l4 [, v: ~% O: Z8 J
  15. 9 ~0 U. T6 u% G
  16.                 tree_control0->SetColumnDisplayType(2,Tree::ColumnDisplayIcon);0 M. p; [& z; W( h6 g

  17.   g' \6 `% F' U  t1 z
  18.                 // create historymode) U/ R  P; U1 H$ p6 w
  19.                 historyModeNode = createInsertParentNode(this->tree_control0,"History Mode" ,NULL,nodeIcons[0],nodeIcons[0],Tree::NodeInsertOptionAlwaysFirst);9 D3 z7 Y2 O8 d: n7 U  L
  20.                 viewNode = createInsertParentNode(this->tree_control0,"Model Views" ,historyModeNode,nodeIcons[1],nodeIcons[1],Tree::NodeInsertOptionLast);
    2 P: V$ M  D. r. a: {1 ^) E0 B2 x
  21.                 camerasNode = createInsertParentNode(this->tree_control0,"Cameras" ,viewNode,nodeIcons[2],nodeIcons[2],Tree::NodeInsertOptionLast);; ]% R! M, z* O# Z
  22.                 modelhistoryNode = createInsertParentNode(this->tree_control0,"Model History" ,camerasNode,nodeIcons[3],nodeIcons[3],Tree::NodeInsertOptionAlwaysLast);
    - X( z( p5 O0 B: x5 r2 f; j' @
  23.                 tree_control0->SetSortRootNodes(false);: L. }# i  b# {1 f5 N
  24.                 modelhistoryNode->Expand(Node::ExpandOptionExpand);4 A4 _' _- J. A. V6 W  L0 |
  25.                 // get all the features with values
    9 f- q' D% l/ ]/ h5 {3 k1 X
  26. ' h8 f& I+ Y& j& s/ ~1 O
  27.                 std::vector <Features::Feature *> nodeFeatures = getfeatures();/ _" M- ^9 h2 o$ ?
  28.                 // insert the features
    : H# ~6 r  U8 B' v; I+ X5 z8 Z$ p
  29.                 for(int i = 0 ; i < nodeFeatures.size();++i)" n7 a: M; O/ b# E& `" U* N
  30.                 {4 O7 H1 ^5 A: I! U* Q
  31.                         Node *featureNode = tree_control0->CreateNode(nodeFeatures[i]->GetFeatureName());- \/ R" X8 z& Z" \: z! |! c* w3 L
  32.                         tree_control0->InsertNode(featureNode,modelhistoryNode,NULL,Tree::NodeInsertOptionLast);. y( q  p" R$ B4 [" R
  33.                         
    9 H+ c3 t; L6 C
  34.                         featureNode->SetColumnDisplayText(1,        nodeFeatures[i]->FeatureType());# K) a2 s, c. u% A
  35.                         featureNode->SetColumnDisplayText(2,"check");( Z0 A! r2 Z5 r9 R( M3 t

  36. + G) I0 |. W) k3 k4 {, n* A
  37.                 }9 a% X& D" [# J0 b0 W
  38.         
    ' b! |: _  N3 @4 ~8 ^( c

  39. 2 _! T0 I, L$ d1 a
  40.     }
      l+ ?5 q6 ?! L
  41.     catch(exception& ex)% k, V: R  Z0 |1 O' D; y  c, t* Y6 J) V3 l
  42.     {/ v) J% Q$ _  \% A7 z
  43.         //---- Enter your exception handling code here -----3 L/ V, ?3 J6 ?# s6 n
  44.         tree::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());/ O6 U/ ?4 u: i9 d! K
  45.     }: E1 N+ b( t! G0 Q, O' N
  46. }
    # Q$ l3 \$ t  U& X8 o
复制代码

+ q; M' h' J2 }3 z4 e( k3 l) y0 I
/ j- |8 P. y# \+ n1 m9 dtreelist的创建,需要在dialogShown_cb()里面定义treelist的内容
3 |8 u* x7 V6 ], u/ j
& c# K8 c8 z: f. f4 o; `首先通过InsertColumn 定义列,有了列才能创建节点Node2 [$ I- W( F" P: Q& {) |

' m# W% X; a0 O+ [- o, ]这个顺序非常重要!: m4 n4 S; o" N/ E

- F8 O2 C" u+ i. i

treelist 树控件创建

treelist 树控件创建

) ^  N( d1 q& ^9 F
, j: A3 H( ]3 ^  q; O
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了