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

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

[复制链接]

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

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

admin 楼主

2014-11-10 14:57:33

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

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

x
7 B+ u" w, P7 t
简单说说顺序和注意事项:& \: b+ i3 e. X8 h
- M5 W4 E6 S9 F% u. I, g

4 I- \( t" T3 K/ G(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。 # ?9 D/ f( m) ?2 U1 ?
创建Columns比较简单,直接搞:9 ?% q0 J2 X& F2 g1 D& t; A
//Insert Columns        
& D% X# n6 N0 n- P        tree_control0->InserTColumn(ColumnFirst, "First Column", 80);
$ A9 \. o  _. d' v# e        tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);5 L& `) A# U" |5 o8 w9 m) a7 h. Y
        tree_control0->InsertColumn(ColumnThird, "Third Column", 80);
" C3 U7 p7 y* I9 f& Z
/ q5 T' m  M- m' E

$ J: U9 k6 s9 j3 ^  ?5 M4 Y( I// 关于列的序号,最好定义一个枚举类型,方便使用
/ ]0 r% t0 N  u2 }6 X, T! o5 D8 h/ I. v* c
( w% s3 ]& R' Z5 o
        //Set resize policy for columns  -- 要不要无所谓
, e$ b6 @' Q# e+ E. d        tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);5 {# n! E4 y* Q6 T
        tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);$ E( O1 z% G; ]! k: G4 L9 p
        tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);8 W: a: |" c" p( q( `7 \& u; {

$ I* \! `( H" M7 ~2 m1 @3 c
6 x5 I6 P5 L# e5 R1 y, s: Z; Z* ]$ p
        //Let the second column interpret the text as icon  //是不是显示图标在列的前面
- u' l) A8 D# ~  r& o
7 I- _5 q' i. y- B
9 O2 Z  U0 |  s; H0 B. [- Q; d- a4 c
        tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);        : k/ D; h- M, i. L1 W, `

- |! T& r( G9 A: A1 S* R7 u* a! r
& l7 L4 k9 x" k(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在
dialogShown_cb()继续写。5 j! B: ~, L# ~! p* @/ Q

! @" ^- u8 l6 ?, b9 v7 w
; X$ }: d: O! N9 \
Node的创建,基本就是先创建再插入。
3 x  D0 }& k) n1 o2 W2 p: a& i& `2 E+ i3 i: F/ N2 G

# b0 |# v; k0 u% m5 i- CBlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建
) G) y9 L1 r# Y  Stree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入
. E( n6 D' L" E3 y; W//如果没有ParentNode和afterNode 就全部设为 NULL
3 n* ~5 o2 \$ `2 M
! j. y( b  ^6 w0 d
& p4 H* h$ U6 o6 q
基本就ok了!
% z% a: |2 w; A4 J7 k
1 c* I- C, p1 [* v$ ^

* [  v4 c) o7 I, b- e. Y4 v(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容) K% G& `1 M  b2 T# X  M

5 s& E- M& ]* o. R/ ^0 u* k. y
8 p9 K2 z9 e% u- l, D2 n9 E
Node->SetColumnDisplayText(Column2,"plmhomedisplay");     - p+ I9 D9 R0 R. e( T# o2 Z; Q' ~
8 W$ c2 _7 w0 \1 r& M4 o

9 g- o1 i/ Y  F4 j* X# t7 O2 g  C" A. i3 f- |

4 s3 j6 L; N! x2 Q% Y: z" O
" c3 P( w' k- P1 X8 U- a
7 ?& W. ~0 {7 r- e

8 A9 K0 @# C) N5 U% F7 T
! J: k: G% L' T/ P- K' n# E1 Q

0 D8 f* e+ r, j( @2 c" D4 B' i5 B$ {* C3 r6 x; Z1 K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了