admin 发表于 2014-11-10 14:57:33

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


简单说说顺序和注意事项:


(1) 先插入columns,也就是先创建列,创建的时候,不要放在initialize_cb()回调函数内,要放在dialogShown_cb()内。
创建Columns比较简单,直接搞:
//Insert Columns      
      tree_control0->InsertColumn(ColumnFirst, "First Column", 80);
      tree_control0->InsertColumn(ColumnSecond, "Second Column", 80);
      tree_control0->InsertColumn(ColumnThird, "Third Column", 80);


// 关于列的序号,最好定义一个枚举类型,方便使用


      //Set resize policy for columns-- 要不要无所谓
      tree_control0->SetColumnResizePolicy(ColumnFirst, Tree::ColumnResizePolicyConstantWidth);
      tree_control0->SetColumnResizePolicy(ColumnSecond, Tree::ColumnResizePolicyConstantWidth);
      tree_control0->SetColumnResizePolicy(ColumnThird, Tree::ColumnResizePolicyConstantWidth);


      //Let the second column interpret the text as icon//是不是显示图标在列的前面


      tree_control0->SetColumnDisplayType(ColumnSecond, Tree::ColumnDisplayIcon);      


(2)创建Node,一般情况下根据控件按钮添加,当然如果你想一开始对话框就显示所有的node,那么还是在dialogShown_cb()继续写。


Node的创建,基本就是先创建再插入。


BlockStyler::Node *node = tree_control0->CreateNode(“plmhome”); //创建
tree_control0->InsertNode(node,parentNode,afterNode,tree_control0->NodeInsertOptionSort); //插入
//如果没有ParentNode和afterNode 就全部设为 NULL


基本就ok了!


(3) 如果要对对应的列添加值,那就是通过设置 节点的显示内容


Node->SetColumnDisplayText(Column2,"plmhomedisplay");   










页: [1]
查看完整版本: UG NX二次开发源码分享:创建树列表UI 界面功能技巧