PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

2471

主题

1276

回帖

8万

积分

管理员

PLM之家站长

积分
82199
QQ
发表于 2014-11-10 14:57:33 | 显示全部楼层 |阅读模式

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

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

x
& k6 r% |5 u. B% _
简单说说顺序和注意事项:8 D0 j) x2 Y. w  e
; {2 J& `$ Z) f4 ]3 h: W

( ~) e0 `$ y! b6 b(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。 6 C. B: f4 z1 k
创建Columns比较简单,直接搞:
$ i, r1 t! V3 H) i, u
//Insert Columns        
( Z) ~* x. P5 E8 {        tree_control0->InserTColumn(ColumnFirst, "First Column", 80);+ w; d  z& J" m$ @* y3 _5 B
        tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);4 L2 D  a! ~: L$ B$ I  v9 R
        tree_control0->InsertColumn(ColumnThird, "Third Column", 80);
4 d4 u  w6 ]. ?& ^$ c) b& V0 f2 u+ V0 s/ E
  [* S( z) z3 u  S1 \
// 关于列的序号,最好定义一个枚举类型,方便使用
' Q7 D! b4 X. f7 `0 ^" U% G7 O( e$ J* B# S, X6 e6 s

3 [& I) P& T! ^        //Set resize policy for columns  -- 要不要无所谓
4 {2 e& Q+ r7 F        tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);2 Z% h- `3 u* w. ]
        tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);
! v% @, r% R# F/ x9 A2 u        tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);$ }( z  y# u5 Q  N

: g: H. N% t& R% B0 C$ y
. @" F1 V( p  W$ n
        //Let the second column interpret the text as icon  //是不是显示图标在列的前面. i0 _; d, M! M& x

0 a' ?" I( Q# d& F+ c
- Z* m! L3 P- }# Z# l
        tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);        
2 ?- T/ [- {- {, Y: p
% B; M6 ]4 W; F+ h& Z$ X* C' i( _) v' L$ h3 P7 H: @# f
(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在
dialogShown_cb()继续写。+ [% f, q. k( q  R" y" g
* Q; K1 `( G* j# L, F
4 O+ R$ r6 m' ^, Q; s
Node的创建,基本就是先创建再插入。
$ y. j7 m8 o/ _. d0 ~9 L2 X! X
3 Z2 \/ @: I# t; L4 }- k& t

# `9 Z6 r: o& d* s/ m6 s9 jBlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建
6 u" R  ?9 s* _5 Rtree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入- s. E: r' O' b, B2 I9 n+ B
//如果没有ParentNode和afterNode 就全部设为 NULL
3 o9 @8 r. q* F0 R% R+ y0 e3 e7 O4 @  ^. Q5 H

6 h  v& F5 \, u2 @& S基本就ok了!% g5 r7 ?4 F: ]" Y; ^

  |6 s: c% X6 v: D2 H( P7 H

. K$ A( v0 b  Q5 i4 N! ^8 b(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容
7 Z  }- @: T) l
2 v( l  h& \4 [- v5 X

9 V( K3 o* y  i9 V7 X8 i7 yNode->SetColumnDisplayText(Column2,"plmhomedisplay");     3 s" \7 [. l. Q/ z; n2 H' p

: K3 J1 N9 k, B1 }0 T
+ M. A4 V) E* p- o. W% g
' t$ I3 s( W6 {  a+ K; m

, r: T: O  k& r8 B: ]+ T/ Z+ \
! ]5 H  h* F; d: l# O3 K: J) L9 h
" r# t# N9 Y9 h

1 K9 Y: U  `- P  O& R6 J. e9 _8 W! n9 K
' T/ X3 v9 Z* ]) k' e

) l9 Y3 Y! C: O) w' R! n% p
3 z# b% V* M7 r2 R. E
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了