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

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

[复制链接]

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

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

admin 楼主

2014-11-10 14:57:33

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

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

x
- L, o# P* \. h# n& q9 X# D
简单说说顺序和注意事项:  d- |, F$ i1 ]3 N( l% E4 s: {
3 a& K4 [$ ^- Q. W" F; k# _

8 b' V; l' L2 K$ J- T, I(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。
% E* k. [: W. S- }& s创建Columns比较简单,直接搞:
% w" D# q+ ?  I+ k# o. A/ D
//Insert Columns        
5 F) |& \2 Z. W* t) j8 ]        tree_control0->InserTColumn(ColumnFirst, "First Column", 80);' [/ w: n  E* S' E7 W3 h
        tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);
/ V& q& ]2 V# f9 E* U        tree_control0->InsertColumn(ColumnThird, "Third Column", 80);
' j- ]4 L0 t" K8 t6 F4 ~5 m# o* Q2 I) \% F2 `& o% }
' o, Y9 ~3 q3 r
// 关于列的序号,最好定义一个枚举类型,方便使用6 a! @! V8 J/ u/ q, a: C( b

- `9 A# M% |3 l6 ]! Q. l- y! H

5 U! h' s  F" Z2 j& a        //Set resize policy for columns  -- 要不要无所谓$ H' [1 |* T  ^- G; N
        tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);& U% R5 a" k, c: n) n' p
        tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);# J% `  g  a! v" _8 g
        tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);
4 y% w) q: |; T+ f+ t1 e9 N& b4 _( {! S+ J+ V7 j9 Q; C# Y* d

5 K6 a0 ]" C9 }        //Let the second column interpret the text as icon  //是不是显示图标在列的前面4 w3 f+ M1 f  s* l2 o

& B! o( B" f# {- n% Q' @

+ M4 J, n/ P5 f9 K        tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);        + ]. k% X$ P3 ?1 y$ M- |1 R
/ ?3 a" d) [0 E

/ H& K; n8 ]5 C( ~# u& j. C(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在
dialogShown_cb()继续写。
# W% s3 D% f0 M; u" c  E0 f% O, X6 M( {% \0 e' ?; @! C
7 ~( U) F8 Q/ Q6 w
Node的创建,基本就是先创建再插入。( p2 Q7 w8 [- z  {! {+ P: }
/ m9 N6 r) c- m' B8 W6 V1 T5 Q
5 V0 \; ]  m4 u4 M9 K2 U
BlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建6 x, H" `4 q8 O) |
tree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入) G: ]; y+ s" P
//如果没有ParentNode和afterNode 就全部设为 NULL) l9 r9 D- f3 l
% L0 t, g5 E0 \1 L% c
1 G7 J: F. l. e! c2 m
基本就ok了!
- h- X9 R  _- F$ I: C; u1 C8 e7 V7 W- ]) [

3 a# e0 A  {; M9 R(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容  y0 S& G: Y8 d8 e

  r% V; s- A/ Q9 \
, W# P, S* P: V+ ~2 k
Node->SetColumnDisplayText(Column2,"plmhomedisplay");     : t0 C' |5 \  `- C
1 H) z9 j7 Y! @

! G9 a# V5 _' S0 o# v7 W7 b
" [6 [7 r+ K' C, O
% T6 z' Z/ a8 [1 W

- w4 M! ~: v8 g$ ~

* e8 G1 z* v: J/ Y  n) |; }% i) a; w) c: v# d% x

  U% V, S& O( q  G7 W0 E( {9 ?* @: ^( g6 t5 q: ]$ T, q

3 b) S, s6 D9 k7 B! M7 ?  I: m! ]
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了