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

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

admin 楼主

2014-2-12 19:13:34

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

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

x
  1. void tree::dialogShown_cb()
    ' ?! i" x9 w6 r% e
  2. {
    " B1 v: D5 u7 T# W
  3.     try
    " b) n3 C( Y) y( @
  4.     {$ l6 l, {$ {9 U* L8 B
  5.         //---- Enter your callback code here -----2 S- D9 ^$ F& Q0 i
  6. ( A' q. S: F/ L( _/ j
  7.                                 
    # c9 \7 H4 x/ k5 t1 ^. m
  8.                 tree_control0->InserTColumn(0,"Name",140);
    + x( Q; ^) v% u) h$ ^
  9.                 tree_control0->InsertColumn(1,"Feature Type",90);
    : q/ g, s3 B1 |2 Q' l! g
  10.             tree_control0->InsertColumn(2," Up to Date",70);, g! M$ s- }8 X# |
  11. 2 ?9 c  i" x9 ]" Q+ N' i
  12.                 tree_control0->SetColumnResizePolicy(0,Tree::ColumnResizePolicyConstantWidth);
    : q# T3 u2 K2 Y  [. U6 @. i  j4 ^
  13.                 tree_control0->SetColumnResizePolicy(1,Tree::ColumnResizePolicyConstantWidth);. C6 I2 v* X( i7 J) E# f+ y3 c) E
  14.                 tree_control0->SetColumnResizePolicy(2,Tree::ColumnResizePolicyConstantWidth);$ D8 q- O$ V/ F6 u" a6 R

  15. 4 t; ]" c- u8 q  E
  16.                 tree_control0->SetColumnDisplayType(2,Tree::ColumnDisplayIcon);1 w. k/ r; s! V+ v% `5 X; l

  17. * d* T  J7 ]; Z) f" n+ ?0 J8 ~
  18.                 // create historymode# W1 U$ P; x. l- ?. c0 a, n4 x
  19.                 historyModeNode = createInsertParentNode(this->tree_control0,"History Mode" ,NULL,nodeIcons[0],nodeIcons[0],Tree::NodeInsertOptionAlwaysFirst);
    & l6 g5 y; ?$ C9 ~2 o0 u/ ^
  20.                 viewNode = createInsertParentNode(this->tree_control0,"Model Views" ,historyModeNode,nodeIcons[1],nodeIcons[1],Tree::NodeInsertOptionLast);
    - {: c, X4 {! {4 k8 t
  21.                 camerasNode = createInsertParentNode(this->tree_control0,"Cameras" ,viewNode,nodeIcons[2],nodeIcons[2],Tree::NodeInsertOptionLast);; y" o4 V$ p0 x. ^1 h
  22.                 modelhistoryNode = createInsertParentNode(this->tree_control0,"Model History" ,camerasNode,nodeIcons[3],nodeIcons[3],Tree::NodeInsertOptionAlwaysLast);" N, b0 S, w) r% M; _0 I$ v8 c! ?& b: e
  23.                 tree_control0->SetSortRootNodes(false);1 I4 L# t. j+ E* c% Q- R
  24.                 modelhistoryNode->Expand(Node::ExpandOptionExpand);
    $ {/ i& b# O9 _
  25.                 // get all the features with values : \  A; k" P( K% L) }" e
  26. / C- Q7 P) o0 `0 e) y: y
  27.                 std::vector <Features::Feature *> nodeFeatures = getfeatures();
    1 R; k( Q9 H0 G
  28.                 // insert the features" I4 G! ?9 `+ }& q3 A* Q
  29.                 for(int i = 0 ; i < nodeFeatures.size();++i)
    2 E6 v- s- J4 p; ~& X7 k* c
  30.                 {
    # V$ y; O" @& X2 p) p8 a9 V
  31.                         Node *featureNode = tree_control0->CreateNode(nodeFeatures[i]->GetFeatureName());
    5 K; Z/ d. D5 ~/ c$ Y
  32.                         tree_control0->InsertNode(featureNode,modelhistoryNode,NULL,Tree::NodeInsertOptionLast);+ d8 J5 |% B  s/ c2 b
  33.                         % L( m2 y* w8 e2 o2 A0 s% \/ l
  34.                         featureNode->SetColumnDisplayText(1,        nodeFeatures[i]->FeatureType());
    2 ~- \9 H8 ?2 i1 K- h1 g6 y
  35.                         featureNode->SetColumnDisplayText(2,"check");" r" Z5 ]7 P* n
  36. ! v8 G! s& z, W/ T; u6 Y% @
  37.                 }- H$ f: w" \# f& y& c; ?
  38.         
    * _6 S: e8 Q; j& f
  39. ' l) E& x5 W1 ~7 ~
  40.     }$ [; F8 I4 E: |0 j
  41.     catch(exception& ex)$ M! F9 A9 k4 \3 P) Z# f
  42.     {) X  F; w1 E/ V; a! k5 ~- O
  43.         //---- Enter your exception handling code here -----
    9 t5 Y+ `' j" b' {: B( H0 F
  44.         tree::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());3 k4 ~& ~3 D; J8 J8 n2 Y3 _0 {  q( e
  45.     }1 Q- s1 ]' ?" \, \. k9 M
  46. }
    5 @2 Q5 i2 T: R* R) a. D' P3 i
复制代码

) M* }- B" N# n* o# c7 Z
6 l* e9 U7 |" x! Q$ w% ]treelist的创建,需要在dialogShown_cb()里面定义treelist的内容4 f( Q7 Z: g8 a
* C7 u( L9 s& ]# _- z" C2 ?1 a  c1 q
首先通过InsertColumn 定义列,有了列才能创建节点Node6 U. a$ A' [9 h! A1 q( l9 q6 a9 J% G

$ Z3 S  y8 ~* V8 @- R/ [这个顺序非常重要!
2 _( l* N0 y: `: [, {) p. C! T* B" f1 U8 Z! G% o' e: Q

treelist 树控件创建

treelist 树控件创建

2 Q9 X* r) O$ g' q) M
) w5 W3 w1 R' H; t
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了