PLM之家PLMHome-工业软件践行者

[二次开发源码] UG NX二次开发源码分享:创建树列表UI 界面功能技巧

[复制链接]

2014-11-10 14:57:33 5187 0

2470

主题

1275

回帖

8万

积分

管理员

PLM之家站长

积分
82162
QQ
发表于 2014-11-10 14:57:33 | 显示全部楼层 |阅读模式

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

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

x
5 L& h- R+ t/ h. ?# D9 c
简单说说顺序和注意事项:8 f" \$ M8 |% A1 [# Z! b6 x3 W
5 R+ s" R0 O+ d, p5 y

/ b: d1 I% L$ m1 r9 }0 q(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。
5 E7 z/ j; |* U+ ^6 e创建Columns比较简单,直接搞:( J: o% o: T( x6 H
//Insert Columns        
8 U' V7 o9 N/ \4 X        tree_control0->InserTColumn(ColumnFirst, "First Column", 80);$ T% H! P3 g, i# [7 K3 o9 S
        tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);* }3 [" O  y8 n
        tree_control0->InsertColumn(ColumnThird, "Third Column", 80);+ ~6 ^+ h/ O5 @. _& t7 z
; k2 M% _  a: }% |' V$ J

  B- u3 E7 m' u* r! J5 P// 关于列的序号,最好定义一个枚举类型,方便使用+ ~# p" t% t0 @) S3 `+ W6 @

, E0 h8 f  \  q3 V" m
4 T3 K/ @' {5 o8 _2 q- c
        //Set resize policy for columns  -- 要不要无所谓
" l* B- t/ j9 L! }; g( N        tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);# ?7 p: s) K4 N7 w( T
        tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);/ y8 u2 {) [* N8 N3 q! S; S. I
        tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);+ G, P3 x+ x$ x2 }9 G
  s. Z5 m" q+ @* H2 O

) o$ M+ V; ]  x' b        //Let the second column interpret the text as icon  //是不是显示图标在列的前面6 u( ?: t% [( y; i0 y

3 x* E3 R; X; U/ o7 g" g

- x1 Q1 b, x# F' t        tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);        ; w" O8 J( f( S0 R/ M- b1 D4 m
9 x$ h" K6 Y) G5 I$ [$ j

9 Z! M2 W8 {  j9 n  K9 ]" v1 u(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在
dialogShown_cb()继续写。  L4 L+ r# p8 \8 N) _1 V5 G6 V& {( O) ]
/ y  V' g, H1 X0 w8 H% q

: {9 G; b  z1 Z/ Y+ B' aNode的创建,基本就是先创建再插入。
5 i1 j5 w, k* q: o. j% f& W0 U0 c7 @# y* g0 Z, x* k+ A

1 n% @; R- |# p. x% y: nBlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建
4 n+ g+ t3 j, @0 k+ z; ]& {  a. xtree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入6 w/ \) j6 G1 @9 x. L9 x6 G; }, u
//如果没有ParentNode和afterNode 就全部设为 NULL
) g% @) b8 v+ i/ C- d% B# d- {' `, T1 Z: S& V

5 c+ q8 A- q, l# l4 ?) D, T基本就ok了!
2 ~4 E- q4 _5 }) V
) r: D& ^5 z' ~

. d1 J* i' p5 d7 Y9 |* M  j. z) Z(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容
! e0 w& O' a0 `3 g6 V0 C' U7 N) J# x$ D+ W5 F
8 _' W& ^# @; T! Y! |" I
Node->SetColumnDisplayText(Column2,"plmhomedisplay");     
% K$ Y6 C  y. F: j
8 p1 `" K5 e" d8 @# p# ~. J. ~6 O0 c+ }- U
) p+ m0 c4 a- X5 _6 l

6 S) v/ u' x+ h* |- K) g. s' e6 I

+ J# J- S7 s* |3 A4 |5 J
8 f' m+ c. ^' o3 ]+ d
) _! O0 D! C$ h% [2 [, }
/ c% h# q, M- L# v

  O! j$ J6 ^' P; Y' B, @1 S- K. v
% _: @; D% v: g+ ]# ]  ?; M+ v; u0 T3 ]8 {$ y; V8 f  b! \
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

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

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

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

    我知道了