查看: 5514|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×

5 @+ M4 h% c2 T/ e5 y简单说说顺序和注意事项:
; F: N7 x6 q6 z: q" E
& e9 f! X& G7 V7 q

. v8 }0 O9 j: x(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。 . N" |0 }+ q: O: b" W$ Y
创建Columns比较简单,直接搞:, v! A2 X4 T* y! Z7 U
//Insert Columns        
4 |) J$ N1 t5 M, O0 O+ r9 d        tree_control0->InserTColumn(ColumnFirst, "First Column", 80);1 C5 N0 J) |3 L- ]6 ]. D
        tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);
: X$ K6 y/ m/ G6 g5 _6 n8 `% p        tree_control0->InsertColumn(ColumnThird, "Third Column", 80);
  r1 _1 e. g, f6 c5 s7 W: @- L2 n
) ?# J3 N% z) [& V+ {% y6 ]8 G4 l* H

) R, I9 g7 b% l8 K3 Z$ J1 |- U// 关于列的序号,最好定义一个枚举类型,方便使用
" I* E) w" D8 _3 |' l( l4 l) N) A

/ g& D* z' x6 T2 P        //Set resize policy for columns  -- 要不要无所谓1 {! {6 X  g4 u
        tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);9 Q" E! l7 e9 F3 c8 Q
        tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);
) Q* s: e# z0 C/ v! ]. w2 P! T        tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);+ S" N, g7 L. j8 S* M
; u9 L2 k; h& G/ T0 o6 @
6 o# C2 b1 Z1 t* q
        //Let the second column interpret the text as icon  //是不是显示图标在列的前面  c: ^- t3 h( J: j2 m5 R" k

% N9 \/ l% P6 O8 `

1 i" Z' j; U+ j        tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);        1 \! _8 t0 c2 q7 @

, ?: Q  l- m2 o5 j) e% m4 E$ r
1 X5 r$ k/ O1 m- D2 G(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在
dialogShown_cb()继续写。
4 f. A" G; R. n' p0 k& J/ I4 T  F3 S0 P2 A$ L
$ J. v$ C0 x( h' X
Node的创建,基本就是先创建再插入。
0 g! A  n7 z# R4 g1 Q+ U" W4 I6 x( k4 k/ V/ v8 g$ t% n  A/ B

7 V4 @) `7 E) T3 H2 OBlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建
/ w* {, s5 Y- O' t( S; T3 btree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入* c7 v( x+ x" {$ L" G
//如果没有ParentNode和afterNode 就全部设为 NULL
4 G% D1 L0 g+ P, ?  b. ^
8 L/ Y# A8 s( h5 B- m( \
: I3 s9 B7 P5 [. C9 {
基本就ok了!- H- o) H  R  P/ q
2 }- f" E$ G, u

& N& b& b1 O- a! V/ n5 N- L9 I) B(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容
. k! i9 _- v7 d* `1 j# e
: v, C, ?' F5 H# b  n
, q. A' |* K3 ^$ d/ `
Node->SetColumnDisplayText(Column2,"plmhomedisplay");     
, R$ x' o2 O4 a# v* p9 H% T- z6 ]+ O3 g+ }" A1 @

5 g" @2 s: m0 V- J3 l( i: V9 r
! ]0 L) R3 e: F5 q% e/ Z

; Y9 r1 N& q  I* ~/ J. r, N" X- j: x% J3 A( S% Y
* |; I# w) P, q- a  B* o& `" s" O
! Y9 t, \! e; L) _9 b) t

  K2 n# ?% l, y) U, c. @
7 ]) K4 X5 M0 [( Y( V6 y
# K1 z; @# X: y, H$ R
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部