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

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

[复制链接]

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

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

admin 楼主

2014-11-10 14:57:33

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

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

x
, E4 B! u: x- y/ Y
简单说说顺序和注意事项:
* A- R; K% ?. d
, c5 r2 E$ J4 b6 ^- W( [2 F- m, z
7 {/ T. |, n1 [9 r( }" ^: S# G
(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。
9 d5 u) m  k* B/ p/ d4 b+ C* _创建Columns比较简单,直接搞:
) @5 r, g& z: a
//Insert Columns        
3 w4 s* P7 E2 p0 ~        tree_control0->InserTColumn(ColumnFirst, "First Column", 80);
+ g- A& X- f9 z+ f# F3 U  G        tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);) D2 O% U/ p+ K( j$ _) W
        tree_control0->InsertColumn(ColumnThird, "Third Column", 80);
2 p, C/ b& n# Z) q) u3 D" e' o% Q: a3 X; G/ g$ Z0 C
! b. |! Q" w. i
// 关于列的序号,最好定义一个枚举类型,方便使用
/ F2 B* G$ }+ v. y* K- x/ B, k6 s8 O6 d
( p$ ]/ r. m) i; m9 O6 S
        //Set resize policy for columns  -- 要不要无所谓
7 ~4 A- N$ ~9 p0 r. O& ?        tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);
6 S9 S; {( `; o        tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);
5 W) w- S. g: ~: {        tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);
+ s, I( B6 X. P! Z/ p! ~) \9 k8 c# T! H7 Z
5 m1 g/ |% `1 h( J* G9 `4 M
        //Let the second column interpret the text as icon  //是不是显示图标在列的前面
7 G& A, ~* b9 p/ ^1 ], k& O" T- K+ ?! P

2 F& ]# F, T$ I8 F% h) l        tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);        
: b5 G( i" c' z7 |9 E# M& x( @$ f1 V$ W! g4 h0 o7 E1 O- n9 h8 b; j
$ q9 N( A7 g$ `! a' k/ Z2 F
(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在
dialogShown_cb()继续写。. o# a3 ^% L4 a8 ?. `

$ Z/ E0 f0 P9 r  v7 x# _( @

5 h7 M6 L" F- C1 a  JNode的创建,基本就是先创建再插入。
/ x) [2 x% {/ B2 Q- E  U6 D" [" x4 |; p6 E- \/ m: a3 j4 v
9 _  `9 }* Y) u6 J+ A% }
BlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建& Z( ?9 @: E  N3 z
tree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入
! S8 |4 _9 c% A5 v0 o//如果没有ParentNode和afterNode 就全部设为 NULL' [! z7 r$ Y: ^  }7 I
7 J; B& Z4 _4 M0 O* a+ o3 S$ t
2 @* m9 w: o1 z- w. D. \* b
基本就ok了!8 d! F6 M$ j$ l! o0 S1 s8 s

8 }- S3 q$ r! n( M7 h: g
1 c8 u: ?. Q  _2 m" o  E6 v: A
(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容1 M: F( e" ]: m: u4 h9 ]
! A- j8 m9 Z- d

" R( d7 I  D) j# t  b; |; c. T! WNode->SetColumnDisplayText(Column2,"plmhomedisplay");     * z4 `! m/ f9 e4 N4 z$ N6 B

+ o. {+ c; d5 Y" q

, ]  ?! h" X: Y. z: }3 o7 P: R4 G* }0 V8 H

: K( {, ]: t# P% a6 N3 A  |0 e: s2 l( k7 r

) `/ x$ {( [6 [9 z+ l
  N/ P+ x* U* D
) S! v" _; s& a3 ?- q; C
/ I+ h# I* V- D7 r- J

. ~5 w1 Y0 A, U0 }' L
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了