cvi的tree控件使用
1、效果如下图
2、代码如下(图标的获取还是跟之前的方法一样)
ToolbarType toolbarHandle;
int CreateTree()
{
char Tag[32];
int bitmapID;
int indexHead, indexOneClosed,indexOneOpen,indexSecond,itemIndex;
InsertTreeItem (panelHandle, PANEL_TREE, VAL_SIBLING, -1, VAL_NEXT,"根节点", "",Tag,-1 );//创建根节点
GetCtrlDisplayBitmap(icoPanel, ICOPANEL_PICTURE_HEAD, 0, &bitmapID);
indexHead = AddTreeImage (panelHandle,PANEL_TREE,bitmapID); // 添加头节点图标
DiscardBitmap (bitmapID);
//根节点展开与折叠时的图标
SetTreeItemAttribute (panelHandle,PANEL_TREE,0, ATTR_IMAGE_INDEX, indexHead);
SetTreeItemAttribute (panelHandle,PANEL_TREE,0, ATTR_COLLAPSED_IMAGE_INDEX, indexHead);
//一级节点的图标
GetCtrlDisplayBitmap(icoPanel, ICOPANEL_PICTURE_ONECLOSE, 0, &bitmapID);
indexOneClosed = AddTreeImage (panelHandle,PANEL_TREE,bitmapID); // Adds an image of closed folder to the tree control.
DiscardBitmap (bitmapID);
GetCtrlDisplayBitmap(icoPanel,ICOPANEL_PICTURE_ONEOPEN,0,&bitmapID);
indexOneOpen = AddTreeImage (panelHandle,PANEL_TREE,bitmapID); // Adds an image of open folder to the tree control.
DiscardBitmap (bitmapID);
//二级节点图标
GetCtrlDisplayBitmap(icoPanel,ICOPANEL_PICTURE_SECOND,0,&bitmapID);
indexSecond = AddTreeImage (panelHandle,PANEL_TREE,bitmapID); // Adds an image of TestItem icon to the tree control.
DiscardBitmap (bitmapID);
SetCtrlAttribute (panelHandle,PANEL_TREE,ATTR_SHOW_IMAGES, 1);
itemIndex = InsertTreeItem (panelHandle, PANEL_TREE, VAL_CHILD, 0, VAL_LAST, "一级节点", "",Tag,-1 ); //一级节点
SetTreeItemAttribute (panelHandle,PANEL_TREE,itemIndex, ATTR_IMAGE_INDEX, indexOneOpen);
SetTreeItemAttribute (panelHandle,PANEL_TREE,itemIndex, ATTR_COLLAPSED_IMAGE_INDEX, indexOneClosed);
itemIndex = InsertTreeItem (panelHandle, PANEL_TREE, VAL_CHILD, 1, VAL_LAST, "二级节点A", "",Tag, -1); //二级节点
SetTreeItemAttribute (panelHandle,PANEL_TREE,itemIndex, ATTR_IMAGE_INDEX, indexSecond);
itemIndex = InsertTreeItem (panelHandle, PANEL_TREE, VAL_CHILD, 2, VAL_LAST, "三级节点A", "",Tag, -1); //二级节点
SetTreeItemAttribute (panelHandle,PANEL_TREE,itemIndex, ATTR_IMAGE_INDEX, indexSecond);
itemIndex = InsertTreeItem (panelHandle, PANEL_TREE, VAL_CHILD, 2, VAL_LAST, "三级节点B", "",Tag, -1); //二级节点
SetTreeItemAttribute (panelHandle,PANEL_TREE,itemIndex, ATTR_IMAGE_INDEX, indexSecond);
itemIndex = InsertTreeItem (panelHandle, PANEL_TREE, VAL_CHILD, 2, VAL_LAST, "三级节点C", "",Tag, -1); //二级节点
SetTreeItemAttribute (panelHandle,PANEL_TREE,itemIndex, ATTR_IMAGE_INDEX, indexSecond);
itemIndex = InsertTreeItem (panelHandle, PANEL_TREE, VAL_CHILD, 1, VAL_LAST, "二级节点B", "",Tag, -1); //二级节点
SetTreeItemAttribute (panelHandle,PANEL_TREE,itemIndex, ATTR_IMAGE_INDEX, indexSecond);
itemIndex = InsertTreeItem (panelHandle, PANEL_TREE, VAL_CHILD, 6, VAL_LAST, "三级节点A2", "",Tag, -1); //二级节点
SetTreeItemAttribute (panelHandle,PANEL_TREE,itemIndex, ATTR_IMAGE_INDEX, indexSecond);
return 0;
}