|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
# u [$ h! p8 p# m; g' U
简单说说顺序和注意事项:! M) p7 b1 o+ K
* W/ {/ O- ]3 { s! [- X
5 v, I9 m4 y+ ?4 a4 m( k P8 V' q(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。 9 l. N& [( I- j9 f. l
创建Columns比较简单,直接搞:
! K- {5 P4 N) m //Insert Columns
& X* m- a& ~/ c8 o5 V* Q tree_control0->InserTColumn(ColumnFirst, "First Column", 80);4 K' S( B+ Y; N8 W
tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);! ~' l( _6 d1 Q3 q% B) r
tree_control0->InsertColumn(ColumnThird, "Third Column", 80);( m I6 C* v( ]7 U2 n4 g0 @
! ?- \9 A8 m2 q3 f8 H
$ ?% U$ \! ^% o7 R$ H% ]// 关于列的序号,最好定义一个枚举类型,方便使用
% a/ L* Q! ]0 a' e9 |* k* H; m' F0 e
8 x' a: @7 ?( z; b2 u$ |4 X" q8 |6 t
//Set resize policy for columns -- 要不要无所谓* v6 ]* C" j3 X" M+ _) P
tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);6 Y9 j- K& `; ~2 Q% `1 _
tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);
0 ]% u! }$ X0 L6 k. |- L( D tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);; t5 @- p) o5 ^, `" t! J
# {6 B1 A: @$ |- K$ g5 e, c* Q
4 Q3 {' Z n; U1 d6 P //Let the second column interpret the text as icon //是不是显示图标在列的前面
( f% G4 M4 m: Z
% ?( x* \( b. W9 ?% r' L; I0 k B# N! R$ _+ v
tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon); % a/ O6 y7 w$ K8 h
* D$ d: d8 |& s% I1 Z7 f0 a
; o9 r8 A, B- o. d
(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在dialogShown_cb()继续写。3 W8 `* \! h. b; Q
" k, b1 I+ i( \
- h5 H L( G0 W5 g; Q2 F1 I9 b9 FNode的创建,基本就是先创建再插入。
/ P8 G0 E, \+ ~! U, {! h/ x: f; E! _: ], k
! ]/ }+ t& d$ [, m" j) b$ R+ S( {
BlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建5 i) J9 |1 y% l6 a7 }) |) C
tree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入, R5 J" Q6 M( T
//如果没有ParentNode和afterNode 就全部设为 NULL; D( k6 ~0 W+ N* K$ S4 C
/ A5 R" @% k4 C7 i" U# m2 K' V
( E: I' z4 V1 d- g/ K: m4 v# Y6 r+ k
基本就ok了!
8 R6 E/ s4 P: p8 V* y! g$ y
' ` ?' t& M% g1 L$ p
9 A. C1 z+ h2 d: D# n+ z) Q) _9 j(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容
8 B) Z1 F# _1 S/ w3 z% _9 U
3 G5 N, Q- x; I5 h' p) F) T" K: p# X W! `
Node->SetColumnDisplayText(Column2,"plmhomedisplay");
! ?4 A9 ?" v; y5 r% Z* g% H" F0 D; p# X# A& x4 F# ]
/ I2 B1 F, m5 J7 t( x# S* a" C
' c7 _% n/ ?5 n
: c5 z6 K' v1 M a* a8 q2 u. O9 C5 H
, S( Q+ ]. a" ?* _8 w
_$ D* {/ D! A; ~5 P9 v% i% o1 t9 S4 Q: w6 @* V8 D. o
6 J; o1 B. O" n. Y" a
2 ~& \- ]2 ~, l8 f \* S x) Y# k8 D* G
|
|