PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

[复制链接]

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

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

admin 楼主

2014-2-12 19:13:34

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

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

x
  1. void tree::dialogShown_cb()
    $ ^! w8 T# L. b4 G/ Z; ~* s
  2. {0 m6 [' C. j. c
  3.     try5 O4 c8 o+ j( z5 X" V# b
  4.     {
    + A( u; N2 i& E
  5.         //---- Enter your callback code here -----3 V3 W. y0 a3 h* n; E

  6. 0 L- x! M/ |% {$ `! O2 l+ s
  7.                                 - P+ b  \  d0 G0 ]# l" W) P
  8.                 tree_control0->InserTColumn(0,"Name",140);' \# N" S/ O" c- K. W, Q
  9.                 tree_control0->InsertColumn(1,"Feature Type",90);8 f$ O8 e1 L, y+ L* f) j- b
  10.             tree_control0->InsertColumn(2," Up to Date",70);: V& U# y/ U# L6 ^# Z
  11. 6 Q! A: q9 |8 G# C" m9 V
  12.                 tree_control0->SetColumnResizePolicy(0,Tree::ColumnResizePolicyConstantWidth);' D2 J$ L* e1 @$ ]0 k" E
  13.                 tree_control0->SetColumnResizePolicy(1,Tree::ColumnResizePolicyConstantWidth);/ O0 G* G% G/ R
  14.                 tree_control0->SetColumnResizePolicy(2,Tree::ColumnResizePolicyConstantWidth);; |/ \0 M! L) ~, r9 c' I

  15. ; s  F9 H2 M/ @, v% s" f
  16.                 tree_control0->SetColumnDisplayType(2,Tree::ColumnDisplayIcon);
    & [6 ^, H5 r$ s) g7 W

  17. ( w! @: p, o0 d2 G/ X: T
  18.                 // create historymode
    ! {2 x0 m( E: T) d% w
  19.                 historyModeNode = createInsertParentNode(this->tree_control0,"History Mode" ,NULL,nodeIcons[0],nodeIcons[0],Tree::NodeInsertOptionAlwaysFirst);
    0 ]( t# N" J5 e$ w* e: t) {& z: y% s
  20.                 viewNode = createInsertParentNode(this->tree_control0,"Model Views" ,historyModeNode,nodeIcons[1],nodeIcons[1],Tree::NodeInsertOptionLast);# R7 K2 U/ X' z8 y# m1 h$ B
  21.                 camerasNode = createInsertParentNode(this->tree_control0,"Cameras" ,viewNode,nodeIcons[2],nodeIcons[2],Tree::NodeInsertOptionLast);
    + x5 m- Y- |  X7 I- |# Z: F" J( a3 V
  22.                 modelhistoryNode = createInsertParentNode(this->tree_control0,"Model History" ,camerasNode,nodeIcons[3],nodeIcons[3],Tree::NodeInsertOptionAlwaysLast);/ H- k  D% D$ q5 A( r1 d2 ~
  23.                 tree_control0->SetSortRootNodes(false);7 T: C3 o- x3 k1 c. \5 z
  24.                 modelhistoryNode->Expand(Node::ExpandOptionExpand);4 X: `: p$ j6 [1 [8 f8 W& `) N5 [
  25.                 // get all the features with values   D5 ?9 m3 z# a

  26. / w' I% v$ n" }8 L/ k4 W5 L& K0 ^" M
  27.                 std::vector <Features::Feature *> nodeFeatures = getfeatures();
    ) Z7 o1 A. [; ^) H. |6 y, L' A+ f
  28.                 // insert the features: n9 f- F6 y) U3 P3 a
  29.                 for(int i = 0 ; i < nodeFeatures.size();++i)
    ! H& A% w; L6 h  X% s5 s
  30.                 {6 S* T& q/ B( P, |' h
  31.                         Node *featureNode = tree_control0->CreateNode(nodeFeatures[i]->GetFeatureName());, {( O: K: c% _
  32.                         tree_control0->InsertNode(featureNode,modelhistoryNode,NULL,Tree::NodeInsertOptionLast);5 y5 S% @3 t( G% W
  33.                         . [$ H, S  p; j  c/ x- R
  34.                         featureNode->SetColumnDisplayText(1,        nodeFeatures[i]->FeatureType());4 ^0 `" b- x) C
  35.                         featureNode->SetColumnDisplayText(2,"check");
    ! p! i/ c! B- \( g' f) k
  36. 8 Z) f" J3 x8 P+ I/ v& z" c
  37.                 }
    ( i2 y  J+ d4 p5 k0 Z6 d
  38.         
    / h, \; y, U5 q2 u/ c+ R
  39. 4 `$ Z0 B! G7 U8 z- z5 j, ^6 p
  40.     }. l! [) u% A( G
  41.     catch(exception& ex)
    - v) ]' f. ]# l
  42.     {: y( y6 K! F5 B, k" g( K
  43.         //---- Enter your exception handling code here -----
    # [5 s3 s9 c: Z2 q9 R7 Y. n
  44.         tree::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());2 s( P& d8 ^  Z3 ]3 G
  45.     }, u9 G' ]% d" g) @5 C% z
  46. }  d2 c; I: c2 M
复制代码

9 g4 ~2 D, a- k/ [
5 k. ?$ g1 t% ]* E' o, Qtreelist的创建,需要在dialogShown_cb()里面定义treelist的内容4 ^+ C8 E0 d, o, G6 k0 J
+ @/ `$ e6 Z1 p3 g
首先通过InsertColumn 定义列,有了列才能创建节点Node8 j( Z9 h3 p, B0 z
/ i# w7 k4 |0 O! d
这个顺序非常重要!+ p6 [% c/ k! S3 J. `  O

  V4 ?" z" f5 \% C

treelist 树控件创建

treelist 树控件创建

9 B* s6 h% Z  f9 J1 v3 d0 G6 U1 q! ?6 u
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了