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

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

[复制链接]

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

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

admin 楼主

2014-11-10 14:57:33

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

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

x

) x8 C/ x8 u2 q4 p  r简单说说顺序和注意事项:9 ?( i. Y0 ~- p9 N. U
$ j+ r4 G* P* t% K+ Y$ L
0 \; ?8 z, H: S: {' f
(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。
2 t$ C/ q* w6 G7 L( y创建Columns比较简单,直接搞:2 V4 L/ O5 C" ^* {6 M
//Insert Columns        % ?6 W9 ]  S7 @
        tree_control0->InserTColumn(ColumnFirst, "First Column", 80);
4 W" x: M( Q" q, U4 j2 W6 R        tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);' H  K! O3 \& J8 L, ^1 o0 j
        tree_control0->InsertColumn(ColumnThird, "Third Column", 80);
6 M1 s4 P3 \) k. e4 f, ~% \
$ W. u# B& J& j$ }/ a# B. c" M. x9 T3 y

$ m9 U2 D" ~5 D5 o: I9 w// 关于列的序号,最好定义一个枚举类型,方便使用
% R7 r: x/ r2 F, J1 d5 o! E, _
3 ^4 e3 D  s0 S' ?# _0 n

% a6 E$ |* ]9 i$ q5 Y, t1 o$ ]        //Set resize policy for columns  -- 要不要无所谓
0 f: G; i' v( y" M/ T# {4 x        tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);' \7 W2 u0 v8 e1 V: z" A  `0 k0 s
        tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);6 k: R# C3 o2 O7 ?6 X5 O
        tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);8 s5 t7 c( l7 m7 u
6 ]" O# |: X3 ^7 R4 K+ Y6 @
- P. N) W# O" c
        //Let the second column interpret the text as icon  //是不是显示图标在列的前面1 a2 _* t0 W/ h+ F4 x
  t, u* O. h' {) [- {5 R9 y# B

# @( [7 ?, `; b& [        tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);        
3 d! x: I2 l* @7 `+ u
7 x2 v& l: Q3 H, k# p9 F0 K: l1 Z( A- O( O& Y. O
(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在
dialogShown_cb()继续写。5 H2 s8 o* {; n2 m1 J7 U9 F
9 U0 S( J' c1 T3 @" p
5 B/ V  n; c- \% m" Z% t$ k
Node的创建,基本就是先创建再插入。; z- v0 f5 d  f* E4 P
, ^5 H9 R0 W, u2 ^8 r8 P
& @$ c8 {  v- c5 C3 P% j% L
BlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建. m6 ]3 x& a8 R8 d) y/ @
tree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入
2 R& ]6 D2 k$ b//如果没有ParentNode和afterNode 就全部设为 NULL
7 A6 f8 e+ |1 h  P
& r4 `6 A6 k# g' r

+ q% u! B, a3 K  @9 c基本就ok了!) A4 ^; A  B3 e& s8 C# v

/ [* r& w1 s  y. z7 [  \3 Q

3 {& b$ k& [6 p0 Y# ](3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容
3 B6 ^& a3 @+ _; R0 w
4 ]. W' h2 Y2 n# u" ^6 T3 q3 C4 r
5 V, G8 e8 P3 K: s% r
Node->SetColumnDisplayText(Column2,"plmhomedisplay");       n$ G$ g& P1 {& k2 z
: U" n. l3 ^, q5 y
+ }% l( p4 F+ [# d9 ?, i

. r: P5 D2 z9 ?; j: E
; G/ \5 X' _  n
( H, ?! F% P8 o
9 H0 u! E2 P5 w) B- n
5 p+ l2 I) g' B$ ~9 U

9 H/ o6 w& B7 o8 @7 U5 R/ q
! I' j0 t0 G9 w( S3 m
# k8 u" C# @* L4 h) @
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了