|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- void tree::dialogShown_cb()+ H0 B* V, e, D/ o3 ]
- {
. ?% _0 B& e A5 y9 L3 U. n' s5 H - try7 I, N7 c2 X# F; C/ M
- {0 j/ g7 o; \3 O
- //---- Enter your callback code here -----
" M, ]! h+ @/ p9 `. J' Y - " f& K; |1 _, j5 P8 V0 d# M. E$ H
-
8 [- Y& `3 W0 w: @! [8 @ - tree_control0->InserTColumn(0,"Name",140);, Z) i. n" k; h7 w
- tree_control0->InsertColumn(1,"Feature Type",90);* q4 S5 b. M5 z8 _3 P
- tree_control0->InsertColumn(2," Up to Date",70);& T0 i2 O" r1 I
- % V; E. }* e9 ^1 ~8 x) ]# T
- tree_control0->SetColumnResizePolicy(0,Tree::ColumnResizePolicyConstantWidth);
) R) @/ [3 ]4 Z) [6 v - tree_control0->SetColumnResizePolicy(1,Tree::ColumnResizePolicyConstantWidth);
. v6 [' P1 k* _" N) {7 J' j5 E% w8 h - tree_control0->SetColumnResizePolicy(2,Tree::ColumnResizePolicyConstantWidth);
( J4 v% ~$ k: L5 G1 |9 H3 R
% e3 `& b# l R+ f- tree_control0->SetColumnDisplayType(2,Tree::ColumnDisplayIcon);- [$ P) E6 L/ q2 q' T2 |) x
- % z" l: n7 m) F5 j( P- ~: k
- // create historymode
# p4 p7 ]. Y. }( _# m; l$ z - historyModeNode = createInsertParentNode(this->tree_control0,"History Mode" ,NULL,nodeIcons[0],nodeIcons[0],Tree::NodeInsertOptionAlwaysFirst);0 w' L3 V7 a' V- ^5 `
- viewNode = createInsertParentNode(this->tree_control0,"Model Views" ,historyModeNode,nodeIcons[1],nodeIcons[1],Tree::NodeInsertOptionLast);# b6 G( `+ ~- `( n) b
- camerasNode = createInsertParentNode(this->tree_control0,"Cameras" ,viewNode,nodeIcons[2],nodeIcons[2],Tree::NodeInsertOptionLast);& P4 l, Z4 ^: a4 k
- modelhistoryNode = createInsertParentNode(this->tree_control0,"Model History" ,camerasNode,nodeIcons[3],nodeIcons[3],Tree::NodeInsertOptionAlwaysLast);
3 `) N( g4 E" Y' p Y8 r - tree_control0->SetSortRootNodes(false);
1 P9 P3 }) U. E9 V% |3 n - modelhistoryNode->Expand(Node::ExpandOptionExpand);4 I5 h5 P( ]5 L: w, P% f* }
- // get all the features with values
) Z0 f' C1 k3 _ - 1 v$ W: [! n- H3 i$ M+ A! x$ u
- std::vector <Features::Feature *> nodeFeatures = getfeatures();
4 @% o/ i" {& N - // insert the features& ^9 h' ^! |/ y8 ~7 Y
- for(int i = 0 ; i < nodeFeatures.size();++i)! o& [" Q0 q, K: b- y% m
- { h; M, s6 J% X o! {
- Node *featureNode = tree_control0->CreateNode(nodeFeatures[i]->GetFeatureName());
T0 o4 M2 M8 l7 B - tree_control0->InsertNode(featureNode,modelhistoryNode,NULL,Tree::NodeInsertOptionLast);; l/ M/ P) X4 L1 Q$ r
- 1 X8 t7 v( W$ W+ R
- featureNode->SetColumnDisplayText(1, nodeFeatures[i]->FeatureType());! s; a9 |. H' v' j
- featureNode->SetColumnDisplayText(2,"check");
. V$ q' f6 A$ `8 r5 e% R1 o& T - ) L/ x7 I) A$ R0 h! b
- }& O7 m7 s9 M9 d$ k9 N
-
6 \3 P, C. Q3 M8 M
. ?# v* u1 ~; H p% [2 U- }
5 u$ t$ P& w) p. S - catch(exception& ex)+ G J6 T; J, Z$ h4 ]2 k, i
- {7 Q3 ]$ d" |) k' o' x; Q
- //---- Enter your exception handling code here -----
" E. |: C/ C) E - tree::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
; u8 F+ |& P+ Q L3 M0 v) c - }
. J; ~4 r: n7 B) J9 s/ F0 @ - }0 s. y0 T8 L, L8 g b# j
复制代码 $ B6 B6 U; n4 m+ j4 r$ T9 V
& N a1 _' S3 `' B
treelist的创建,需要在dialogShown_cb()里面定义treelist的内容
( c- F- Q" t. Q6 O5 N- q1 A: M% X7 N3 P# i
首先通过InsertColumn 定义列,有了列才能创建节点Node
9 I7 F& u9 H: o1 l
d9 [8 y4 s9 C6 f, l1 F% ]这个顺序非常重要!' P. A" @0 k3 S9 u
$ ]5 U' K) t9 e
treelist 树控件创建
D* x! U6 e% i" t. `/ t
0 ?- P. N |* Q a) d8 K |
|