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

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

[复制链接]

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

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

admin 楼主

2014-11-10 14:57:33

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

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

x
: N9 q5 k4 i, V$ s9 h. ]; m* i
简单说说顺序和注意事项:" Q3 m3 m' h* ^% \- h" a- w
# [# f6 c% I5 _. [# Q( c
+ f$ w: V1 D# }& D2 c) p
(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。 ) W% V- q( ^- ]. D9 w. }+ S. c* L0 ~5 R
创建Columns比较简单,直接搞:
7 B: Y: {$ z- M' U2 `+ Y
//Insert Columns        7 h  w, `+ b; f& ~& P6 [4 J
        tree_control0->InserTColumn(ColumnFirst, "First Column", 80);# e, S& j1 U; X4 B8 T
        tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);
- T1 n' |3 H  o4 o) o+ _        tree_control0->InsertColumn(ColumnThird, "Third Column", 80);: g( c, O6 F1 h
7 {! C' g% x2 {" O% A# ^

5 H" h0 W6 s& a// 关于列的序号,最好定义一个枚举类型,方便使用5 |4 I! c+ H, J* J
1 Y* b% O% G9 A1 P% p& |. F
, E  O" Q- H9 b& N. K
        //Set resize policy for columns  -- 要不要无所谓4 g' ^* Z$ D. {0 z; w# A
        tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);4 {3 {% L9 J0 K: x
        tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);
- T. i, Z/ E; k7 E        tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);$ [( r1 @6 P2 v& _# y1 ^
9 n$ [7 T1 ^  g5 Q8 B/ h1 t

6 |' v9 N  r2 H& ^/ f' V! p2 i        //Let the second column interpret the text as icon  //是不是显示图标在列的前面2 T1 A' J" t8 O/ B
1 i& {# A, I' [2 u) K

7 Y* _) Y  e1 ^0 D4 T        tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);        
+ A( N* _  N7 n% R; ?
; f: k  k% \- R, v! B4 n; k, b
& W/ i' B+ k' h" V. y(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在
dialogShown_cb()继续写。9 T1 ^2 T3 u6 w5 y/ v9 l7 ]
6 h. y# p4 e$ J/ e- i
/ {0 y- X; ?: B9 j4 I, c
Node的创建,基本就是先创建再插入。
! D9 c: B; m; x: K$ ?; B' ^  `7 l, A7 w7 t0 ^

9 _( w- Y- |  H" @" D4 E* c# KBlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建
6 o! G9 i/ M; mtree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入
4 ^7 T2 _% v9 X( J( X- [  k//如果没有ParentNode和afterNode 就全部设为 NULL6 {1 _0 i5 ~. M' n& G

# f" h( ~0 p- d, Z8 s6 z

2 y0 m8 y3 ?6 q$ u$ O5 V9 B基本就ok了!' I' B# P# U" Z
: u, u7 C9 U. p! s* F
' U0 e" w6 Z0 m3 C; r% q0 y
(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容: P8 b/ e( \4 Q* N* Z7 h# r
* M! g& m6 w9 K, [+ }4 q

, {+ E- a! T4 A$ h! zNode->SetColumnDisplayText(Column2,"plmhomedisplay");     0 H/ X( E( i+ P5 c  c  Z0 n

4 l* _6 }+ F: d* C8 `1 d+ \$ ]5 Q8 D- W

3 p" I7 h& u( N, r% g$ j2 H2 L3 _, x  \5 `$ _. B

1 G' [8 _) b: G- Y4 Y( j# H! \9 k% x! w  D8 c

& L& ^% _1 w) F) \1 N! d7 Y5 R$ b, e

6 X9 I$ q3 b6 w1 [1 ~3 e5 V' C" t0 i5 w, @0 G
5 ^* l, I, }+ `& W/ M3 d
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了