Tree-列表树元素

Tree 树元素

树元素.

步骤:

  1. XTree_Create()创建树元素.

示例代码 - 简化用法

#pragma comment(lib, "XCGUI.lib")
#include "xcgui.h"
HWINDOW hWindow = NULL;
int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
XInitXCGUI(TRUE); //初始化
hWindow = XWnd_Create(0, 0, 600, 400, L"炫彩界面库-窗口");//创建窗口
if (hWindow)
{
HELE hTree = XTree_Create(20, 40, 500, 300, hWindow);
XTree_SetItemTemplateXML(hTree, L"XML-template\\ListBox_Item.xml");
wchar_t buf[MAX_PATH] = { 0 };
for (int i = 0; i < 10; i++)
{
wsprintf(buf, L"item-%d", i + 1);
int index = XTree_InsertItemText(hTree, buf);
XTree_SetItemText(hTree, index, 1, L"subitem-1");
XTree_SetItemText(hTree, index, 2, L"subitem-2");
}
XWnd_ShowWindow(hWindow, SW_SHOW);//显示窗口
XRunXCGUI(); //运行
}
XExitXCGUI(); //释放资源
return 0;
}
void WINAPI XExitXCGUI()
炫彩_退出 退出界面库释放资源. 不可在dllmain()中卸载, 否则会死锁
Definition: App.cpp:572
void WINAPI XRunXCGUI()
炫彩_运行 运行消息循环,当炫彩窗口数量为0时退出.
Definition: App.cpp:564
BOOL WINAPI XInitXCGUI(BOOL bD2D)
炫彩_初始化 初始化界面库.
Definition: App.cpp:557
BOOL WINAPI XTree_SetItemTemplateXML(HELE hEle, const wchar_t *pXmlFile)
列表树_置项模板文件 设置项模板文件.
Definition: TreeUI.cpp:2172
HELE WINAPI XTree_Create(int x, int y, int cx, int cy, HXCGUI hParent)
列表树_创建 创建树元素.
Definition: TreeUI.cpp:2050
HXCGUI WINAPI XTree_CreateAdapter(HELE hEle)
列表树_创建数据适配器 创建数据适配器,根据绑定的项模板初始化数据适配器的列(字段名); 数据适配器存储数据, UI对象根据绑定的字段名显示数据适配器中对应的数据;
Definition: TreeUI.cpp:2449
BOOL WINAPI XTree_SetItemText(HELE hEle, int nID, int iColumn, const wchar_t *pValue)
@anchor 列表树_置项文本
Definition: TreeUI.cpp:2683
int WINAPI XTree_InsertItemText(HELE hEle, const wchar_t *pValue, int nParentID, int insertID)
@anchor 列表树_插入项文本
Definition: TreeUI.cpp:2615
HWINDOW WINAPI XWnd_Create(int x, int y, int cx, int cy, const wchar_t *pTitle, HWND hWndParent, int XCStyle)
窗口_创建 创建窗口
Definition: WindowUI.cpp:5964
BOOL WINAPI XWnd_ShowWindow(HWINDOW hWindow, int nCmdShow)
@窗口_显示扩展 显示隐藏及控制窗口最大化还原等
Definition: WindowUI.cpp:6387

示例代码 - 高级用法

class CMyWindowTree
{
public:
HWINDOW m_hWindow;
HELE m_hTree;
CMyWindowTree()
{
Init();
}
void Init()
{
m_hWindow = XWnd_Create(400, 200, 350, 400, L"炫彩界面库窗口",NULL, window_style_default);
m_hTree= XTree_Create(20,40,300,300,m_hWindow);
XTree_SetItemTemplateXML(m_hTree,L"xml-template\\Tree_Item.xml");
HXCGUI hAdapter=XAdTree_Create();
XTree_BindAdapter(m_hTree,hAdapter);
XAdTree_AddColumn(hAdapter,XC_NAME1);
wchar_t buf[256]={0};
int id=0;
for (int i=0;i<20;i++)
{
wsprintf(buf,L"name-%d-0",i);
}
int idc1=XAdTree_InsertItemText(hAdapter,L"Item1------1",1,XC_ID_LAST);
int idc2=XAdTree_InsertItemText(hAdapter,L"Item1------2",1,XC_ID_LAST);
int idc2_1=XAdTree_InsertItemText(hAdapter,L"Item1-----2--1",idc2,XC_ID_LAST);
XEle_RegEventCPP(m_hTree,XE_TREE_SELECT,&CMyWindowTree::OnTreeSelect);
XEle_RegEventCPP(m_hTree,XE_TREE_EXPAND,&CMyWindowTree::OnTreeExpand);
XEle_RegEventCPP(m_hTree,XE_TREE_TEMP_CREATE,&CMyWindowTree::OnTemplateCreate);
XEle_RegEventCPP(m_hTree,XE_TREE_TEMP_DESTROY,&CMyWindowTree::OnTemplateDestroy);
XWnd_ShowWindow(m_hWindow,SW_SHOW);
}
int OnTreeSelect(int nItemID,BOOL *pbHandled)
{
*pbHandled=TRUE;
return 0;
}
int OnTreeExpand(int id,BOOL bExpand,BOOL *pbHandled)
{
*pbHandled=TRUE;
return 0;
}
int OnTemplateCreate(tree_item_i *pItem, int nFlag, BOOL *pbHandled)
{
*pbHandled=TRUE;
return 0;
}
int OnTemplateDestroy(tree_item_i *pItem, int nFlag, BOOL *pbHandled)
{
*pbHandled=TRUE;
return 0;
}
};
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
XInitXCGUI(TRUE);
CMyWindowTree MyWindow;
return TRUE;
}
#define XE_TREE_EXPAND
树元素,项展开收缩事件.
Definition: XCGUI.h:1100
#define XE_TREE_TEMP_CREATE
列表树元素-项模板创建,模板复用机制需先启用; 替换模板无效判断nFlag,因为内部会检查模板是否改变,不用担心重复
Definition: XCGUI.h:1072
#define XE_TREE_SELECT
树元素,项选择事件.
Definition: XCGUI.h:1096
#define XE_TREE_TEMP_DESTROY
列表树元素-项模板销毁,模板复用机制需先启用;
Definition: XCGUI.h:1083
@ window_style_default
窗口样式-控制按钮: 居中 图标, 标题, 关闭按钮, 最大化按钮, 最小化按钮
Definition: XCGUI.h:398
#define XC_ID_LAST
插入末尾位置(当前层)
Definition: XCGUI.h:464
#define XC_ID_ROOT
根节点
Definition: XCGUI.h:461
void * HXCGUI
资源句柄
Definition: XCGUI.h:92
XEle_RegEventCPP(hEle, nEvent, memberFunction)
元素_注册事件CPP 注册元素事件,将类成员函数作为事件响应函数.函数省略元素自身句柄hEle.
int WINAPI XAdTree_AddColumn(HXCGUI hAdapter, const wchar_t *pName)
数据适配器树_添加列 添加列.
Definition: DataAdapter.cpp:2944
HXCGUI WINAPI XAdTree_Create()
数据适配器树_创建 创建树元素数据适配器.数据适配器存储数据, UI对象根据绑定的字段名显示数据适配器中对应的数据;
Definition: DataAdapter.cpp:2934
int WINAPI XAdTree_InsertItemText(HXCGUI hAdapter, const wchar_t *pValue, int nParentID, int insertID)
数据适配器树_插入项文本 插入项,数据填充到第一列.
Definition: DataAdapter.cpp:2967
void WINAPI XTree_BindAdapter(HELE hEle, HXCGUI hAdapter)
列表树_绑定数据适配器 绑定数据适配器.
Definition: TreeUI.cpp:2458

截图: