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

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

[复制链接]

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

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

admin 楼主

2014-11-10 14:57:33

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

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

x

; d: }( v. G" C( i简单说说顺序和注意事项:1 Q  R: p5 J& Q- W

7 W0 W$ M! x% X) s8 Y

3 q# d4 V0 A' t4 t(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。
/ S  N- X8 A! I7 y9 x创建Columns比较简单,直接搞:
( P4 b; {. k4 Y5 o  C& i& Y% k
//Insert Columns        
$ d7 o( y8 K4 t6 b0 w) f: B        tree_control0->InserTColumn(ColumnFirst, "First Column", 80);
! T0 I2 I5 t* r7 u' c2 |        tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);
; v9 l8 P5 r8 g6 W8 i# N3 j        tree_control0->InsertColumn(ColumnThird, "Third Column", 80);
- q- D9 m2 I- N- f6 R/ h  \
1 x% r% y2 f) j5 k; i5 X% ~

7 N3 Z# L( V! M% e  A8 g// 关于列的序号,最好定义一个枚举类型,方便使用$ C* \# @/ O. |/ j1 I

; w( A+ F0 _% n% m* }
$ K6 v  s7 r" v4 A  l
        //Set resize policy for columns  -- 要不要无所谓
0 U% R0 O" ^8 d0 }& l! C8 c; N        tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);
1 M& K' U1 z) W: d) H. i        tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);+ W! o8 q* W! L# V; H3 z6 M
        tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);
/ q5 C% u$ b6 ]/ n: P. r3 Q
& E! q% ^" R, |/ L) x

% o( W2 n* a9 y        //Let the second column interpret the text as icon  //是不是显示图标在列的前面' i0 I! p/ X  b
/ W4 U$ ~$ p3 s  p' T4 \: U" ^
6 }+ i! o' O6 j" U
        tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);        - L$ _( o; {! B& y2 v% d( x% t

3 [% F( O2 _1 Y/ Y" ]! t
, H9 R; A  K+ F(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在
dialogShown_cb()继续写。
3 E% N5 y8 P* O
5 L" ^5 a! k% U* j" r- m
+ T! E+ o2 [" S, I
Node的创建,基本就是先创建再插入。6 Q& @3 p& ^- z. a; V. P1 A
2 V! A# @) E, @- p
5 w5 n  u0 b' K' f; L! p* ?8 F) w
BlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建/ c$ O$ x' h( \$ D- |) ?
tree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入" H% D7 Z3 p8 u$ q4 Z$ L
//如果没有ParentNode和afterNode 就全部设为 NULL8 T& `4 p0 Z1 P, W$ S3 n0 l5 S5 p
0 h2 L+ d- f# u3 Q/ j

3 \: X& k9 `- Y% Q$ |基本就ok了!
: A- C. X$ C1 o& V; y; b! b4 C% g7 X

& Y( i( M- q) L0 _; E7 ?. n1 n(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容
: }* z1 K, s% u7 {  P% H
8 z% x5 a3 |, \0 d+ d
% L3 i# j) r  {
Node->SetColumnDisplayText(Column2,"plmhomedisplay");     % n; B. J/ Y& c' Y
% U; |6 l  M4 M
% d0 {4 I$ w. M- {1 Z

. }' E" c& _8 b) ]# I; C+ w- X
0 @+ c5 A( @. N0 M

# b* v" `8 _+ M3 y4 x5 n0 y' @
: h4 R0 c6 s# C% M  L2 W

& |. [  X$ d0 F$ u" s* |9 @
5 R6 F( ~' d* C$ u' \; |& t2 K3 f

/ B  y' P, T9 @# j' t# C" i9 x+ P( S- s& U& 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二次开发专题模块培训报名开始啦

    我知道了