|
请使用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
|
|