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

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

[复制链接]

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

admin 发表于 2014-11-10 14:57:33 |阅读模式

admin 楼主

2014-11-10 14:57:33

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

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

x
; U: c( z3 z# A" h6 _2 q! @
简单说说顺序和注意事项:
: @  z- s  E- ?8 a+ M8 j8 r% S/ B+ ]( d- [

7 k9 m! ~6 M! Q6 D* {1 y) j(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。 3 k' s2 ?/ h+ ^7 `" F7 r: ^
创建Columns比较简单,直接搞:$ n; l* ?" q; u9 b
//Insert Columns        
7 y1 G  @7 |5 A4 F! V3 S& X        tree_control0->InserTColumn(ColumnFirst, "First Column", 80);/ N5 o* T& |# f- k
        tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);8 [. _) H- x8 V" E7 V1 f0 I/ Y
        tree_control0->InsertColumn(ColumnThird, "Third Column", 80);
. f5 A  E1 w, v
6 r6 x7 A& }8 P$ i2 B

2 L% x8 T! H( Q( v// 关于列的序号,最好定义一个枚举类型,方便使用
+ b4 s% H. K: @% s) `* {+ T6 `
9 T8 J$ T. }1 w: o  n$ [: H, y
# R! O+ `1 ?5 z6 l/ t6 I
        //Set resize policy for columns  -- 要不要无所谓
* r7 h: C1 V* {/ K: a6 V3 p3 i8 g: e        tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);
6 }6 T: o! p4 l7 ?+ a        tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);
! @5 Y9 \# t# G7 R$ K% N0 H        tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);
) d) U3 x) `" ^( |  C# R5 o9 @* |
+ Q3 y( s6 F. z% a, j$ f
) T3 K2 L3 U) X9 d* Z* A: c
        //Let the second column interpret the text as icon  //是不是显示图标在列的前面
: O3 Z& W5 j, S5 W1 t/ i1 n/ v) e1 b
4 X5 `" T& @' q2 s6 k

) ~5 ]) V, a4 ]        tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);        / E! i. N' J. x- e1 [
- v5 e* U7 m7 m0 f
  v& T; q" Q& K0 E* K
(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在
dialogShown_cb()继续写。. ?- R0 |6 G) g

+ Z/ M. G1 m" ^5 u) ]: Z
9 Y4 [3 S7 T$ o$ t( ^+ d# Y! {
Node的创建,基本就是先创建再插入。
! {; L1 L. C8 m, s, g4 I  J, D5 x* D1 _3 ^

6 \7 ~0 a% G; x/ o  _& z2 ~8 fBlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建
0 U% C0 {7 D) H) F" d4 L1 ~tree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入" C0 R, [9 G9 ^! o( F
//如果没有ParentNode和afterNode 就全部设为 NULL9 Y# {6 R' S9 W: }! c' I! K* ^
0 P; m4 J* v6 M& g% e) `

1 a( O- V0 H# e+ a7 Q1 I$ D基本就ok了!0 ]4 Y( O' U4 J) n6 p+ {

& u" o/ y& g& j' D1 M

1 q  B/ t9 I/ e, g! Z  I, ]8 s(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容
- M  l  l% E8 l: |  [- O7 N# Y5 d: A' z7 }, X
8 ?0 Z& S; R" R' u  Z
Node->SetColumnDisplayText(Column2,"plmhomedisplay");     3 q/ ]3 Y; P& B% n

# C5 E. E4 l9 i9 K  Y9 i2 h
$ s* m/ l4 `! t$ ~, F9 p

5 O8 s: V) @# w5 N5 E
0 |/ b8 C; c6 h
" v5 r0 m2 ]5 j# z& l6 t  ?

; i/ }! `, |/ v# \; G, a1 A. S3 ?4 L* a" R/ X
- x. b* E6 ?3 H/ ]* d
4 x/ ~% f% `; ^4 S/ _/ T9 ]/ u+ Y

. j+ X1 o" N7 T6 m8 X; R7 F
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了