List-列表元素

List 列表元素

列表元素,可以多列显示,在列表项,子项和列表头项前面可显示图标,支持单行选择或多行选择.

步骤

  1. XList_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, 500, L"炫彩界面库-窗口");//创建窗口
if (hWindow)
{
HELE hList = XList_Create(20, 40, 500, 300, hWindow);
XList_SetItemTemplateXML(hList, L"XML-template\\List_Item.xml");
XList_AddColumnText(hList, 100, XC_NAME1, L"aaa");
XList_AddColumnText(hList, 100, XC_NAME2, L"bbb");
XList_AddColumnText(hList, 100, XC_NAME3, L"ccc");
wchar_t buf[MAX_PATH] = {0};
for (int i =0; i<10;i++)
{
wsprintf(buf, L"item-%d", i + 1);
int index = XList_AddItemText(hList, buf);
XList_SetItemText(hList, index, 1, L"subitem-1");
XList_SetItemText(hList, 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 XList_SetItemTemplateXML(HELE hEle, const wchar_t *pXmlFile)
列表_置项模板文件 设置项布局模板文件.
Definition: ListUI.cpp:4565
BOOL WINAPI XList_SetItemText(HELE hEle, int iRow, int iColumn, const wchar_t *pText)
@anchor 列表_置项文本
Definition: ListUI.cpp:5072
HELE WINAPI XList_Create(int x, int y, int cx, int cy, HXCGUI hParent)
列表_创建 创建列表元素.
Definition: ListUI.cpp:4112
HXCGUI WINAPI XList_CreateAdapter(HELE hEle, int colExtend_count)
列表_创建数据适配器 创建数据适配器,根据绑定的项模板初始化数据适配器的列(字段名); 数据适配器存储数据, UI对象根据绑定的字段名显示数据适配器中对应的数据;
Definition: ListUI.cpp:4504
HXCGUI WINAPI XList_CreateAdapterHeader(HELE hEle)
列表_列表头创建数据适配器 创建数据适配器,根据绑定的项模板初始化数据适配器的列(字段名); 数据适配器存储数据, UI对象根据绑定的字段名显示数据适配器中对应的数据;
Definition: ListUI.cpp:4517
int WINAPI XList_AddColumnText(HELE hEle, int nWidth, const wchar_t *pName, const wchar_t *pText)
@anchor 列表_添加列文本
Definition: ListUI.cpp:4941
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 CMyWindowList
{
public:
HWINDOW m_hWindow;
HELE m_hList;
CMyWindowList()
{
Init();
}
void Init()
{
m_hWindow = XWnd_Create(0, 0, 550, 380, L"炫彩界面库窗口",NULL, window_style_default);
m_hList= XList_Create(20,40,500,300,m_hWindow);
XList_SetItemTemplateXML(m_hList,L"XML-template\\List_Item.xml");
XSView_SetLineSize(m_hList,20,20);
XList_AddColumn(m_hList,100);
XList_AddColumn(m_hList,100);
XList_AddColumn(m_hList,100);
HXCGUI hAdapterHeader=XAdMap_Create();
XList_BindAdapterHeader(m_hList,hAdapterHeader);
XAdMap_AddItemText(hAdapterHeader,XC_NAME1,L"aaa");
XAdMap_AddItemText(hAdapterHeader,XC_NAME2,L"bbb");
XAdMap_AddItemText(hAdapterHeader,XC_NAME3,L"ccc");
XAdMap_AddItemText(hAdapterHeader,XC_NAME4,L"test");
HXCGUI hAdapter=XAdTable_Create();
XList_BindAdapter(m_hList,hAdapter);
XAdTable_AddColumn(hAdapter,XC_NAME1);
XAdTable_AddColumn(hAdapter,XC_NAME2);
XAdTable_AddColumn(hAdapter,XC_NAME3);
wchar_t tmp[MAX_PATH]={0};
for (int i=0;i<20;i++)
{
wsprintf(tmp,L"item-%d",i);
XAdTable_AddItemText(hAdapter,tmp);
wsprintf(tmp,L"child-%d-1",i); XAdTable_SetItemText(hAdapter,i,1,tmp);
wsprintf(tmp,L"child-%d-2",i); XAdTable_SetItemText(hAdapter,i,2,tmp);
}
XWnd_ShowWindow(m_hWindow,SW_SHOW);
}
};
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
XInitXCGUI(TRUE);
CMyWindowList MyWindow;
return 0;
}
@ window_style_default
窗口样式-控制按钮: 居中 图标, 标题, 关闭按钮, 最大化按钮, 最小化按钮
Definition: XCGUI.h:398
BOOL WINAPI XSView_SetLineSize(HELE hEle, int nWidth, int nHeight)
滚动视_置滚动单位大小 设置滚动单位大小.
Definition: ScrollViewUI.cpp:694
void * HXCGUI
资源句柄
Definition: XCGUI.h:92
HXCGUI WINAPI XAdMap_Create()
数据适配器MAP_创建 创建数据适配器,单列数据.数据适配器存储数据, UI对象根据绑定的字段名显示数据适配器中对应的数据;
Definition: DataAdapter.cpp:2441
BOOL WINAPI XAdMap_AddItemText(HXCGUI hAdapter, const wchar_t *pName, const wchar_t *pValue)
数据适配器MAP_添加项文本 增加数据项.
Definition: DataAdapter.cpp:2452
int WINAPI XAdTable_AddColumn(HXCGUI hAdapter, const wchar_t *pName)
数据适配器表_添加列 添加数据列.
Definition: DataAdapter.cpp:1908
HXCGUI WINAPI XAdTable_Create()
数据适配器表_创建 创建列表框元素数据适配器.数据适配器存储数据, UI对象根据绑定的字段名显示数据适配器中对应的数据;
Definition: DataAdapter.cpp:1863
BOOL WINAPI XAdTable_SetItemText(HXCGUI hAdapter, int iRow, int iColumn, const wchar_t *pValue)
数据适配器表_置项文本 设置项数据.
Definition: DataAdapter.cpp:2031
void WINAPI XList_BindAdapter(HELE hEle, HXCGUI hAdapter)
列表_绑定数据适配器 绑定数据适配器.
Definition: ListUI.cpp:4479
int WINAPI XList_AddColumn(HELE hEle, int width)
列表_增加列 增加列.
Definition: ListUI.cpp:4175
void WINAPI XList_BindAdapterHeader(HELE hEle, HXCGUI hAdapter)
列表_列表头绑定数据适配器 列表头绑定数据适配器.
Definition: ListUI.cpp:4489

截图: