List控件的使用
功能功能
用来显示文字列表,列表项可带有图标, 可进行多选或者单选。
属性介绍
- ItemHeight item的高度
- Background 背景样式
- ItemBg item的背景样式
- TextStyle 文字样式
- DrawBorder 是否绘制边框
- BorderSize 边框粗细
- BorderColor 边框颜色
- ShowIcon item是否显示图标
- IconOffset 图标左侧偏移量
- EnableDragItem 是否允许拖拽item
- CanSelectBlank 点击空白区域是否可以取消选中项目
List中的滚动条需要另外放置滚动条控件
控件事件介绍
1. UIG_RAD_SELECTED
参数名 | 事件数值 | 事件含义 | 事件参数1 | 事件参数2 |
---|---|---|---|---|
UIG_CONTAINER_CLICK | 0x300 | 选中item | 当前选中item index | 上一个选中itemindex,初始为-1 |
事件处理示例:
BEGIN_UIG_MESSAGE_MAP(CDemoDlg)
ON_UIG_LIST_SEL_CHANGE(_list, ItemSelected)
END_UIG_MESSAGE_MAP()
...
void CDemoDlg::ItemSelected(IUIGearsControl* control, int selectIndex, int preSelectIndex)
{
if (control == _list)
{
}
}
2. UIG_LIST_MOUSEMOVE
参数名 | 事件数值 | 事件含义 | 事件参数1 | 事件参数2 |
---|---|---|---|---|
UIG_LIST_MOUSEMOVE | 0x305 | 鼠标移动到的item | 当前选中item index | - |
事件处理示例:
BEGIN_UIG_MESSAGE_MAP(CDemoDlg)
ON_UIG_LIST_MOUSE_MOVE(_list, ItemMove)
END_UIG_MESSAGE_MAP()
...
void CDemoDlg::ItemMove(IUIGearsControl* control, int moveIndex)
{
if (control == _list)
{
}
}
3. UIG_LIST_ITEMDOWN
参数名 | 事件数值 | 事件含义 | 事件参数1 | 事件参数2 |
---|---|---|---|---|
UIG_LIST_ITEMDOWN | 0x304 | 鼠标点下某一item | 当前点下item index | - |
事件处理示例:
BEGIN_UIG_MESSAGE_MAP(CDemoDlg)
ON_UIG_LIST_ITEM_DOWN(_list, ItemDown)
END_UIG_MESSAGE_MAP()
...
void CDemoDlg::ItemDown(IUIGearsControl* control, int downIndex)
{
if (control == _list)
{
}
}
4. UIG_LIST_DBCLICK
参数名 | 事件数值 | 事件含义 | 事件参数1 | 事件参数2 |
---|---|---|---|---|
UIG_LIST_DBCLICK | 0x303 | 鼠标双击某一item | 当前点下item index | - |
事件处理示例:
BEGIN_UIG_MESSAGE_MAP(CDemoDlg)
ON_UIG_LIST_DBCLICK(_list, ItemDBClick)
END_UIG_MESSAGE_MAP()
...
void CDemoDlg::ItemDBClick(IUIGearsControl* control, int clickIndex)
{
if (control == _list)
{
}
}
5. UIG_LIST_DRAGITEM
参数名 | 事件数值 | 事件含义 | 事件参数1 | 事件参数2 |
---|---|---|---|---|
UIG_LIST_DBCLICK | 0x306 | 拖拽item事件 | 拖拽事件类型 UIGears::ListDragItemState | 鼠标位置 |
enum ListDragItemState
{
LS_STARTDRAG = 0, // 开始拖拽
LS_MOVEDRAG, // 拖拽移动
LS_ENDDRAG // 结束拖拽
};
事件处理示例:
BEGIN_UIG_MESSAGE_MAP(CDemoDlg)
ON_UIG_LIST_DRAGITEM(_list, DragEvent)
END_UIG_MESSAGE_MAP()
...
void CDemoDlg::DragEvent(IUIGearsControl* pList, int state, int data)
{
switch (state)
{
case UIGears::LS_STARTDRAG:
{
int selectIndex = _pControlList->GetSelectedIndex();
}
break;
case UIGears::LS_MOVEDRAG:
{
int y = HIWORD(data);
int x = LOWORD(data);
}
break;
case UIGears::LS_ENDDRAG:
{
int y = HIWORD(data);
int x = LOWORD(data);
}
break;
default:
break;
}
}
接口介绍
1. AddItem
接口描述: 添加item
参数值:
参数名 参数类型 参数含义 text const tchar* item文本内容 返回值:
bool
示例:
_demoCtrl->AddItem();
2. InsertItem
接口描述: 插入item
参数值:
参数名 参数类型 参数含义 index int 插入索引位置,从0开始 text const tchar* item文本内容 返回值:
bool
示例:
_demoCtrl->InsertItem();
3. SetItemTooltip
接口描述: 设置item的tooltip文本
参数值:
参数名 参数类型 参数含义 index int 索引位置,从0开始 text const tchar* tooltip文本内容 返回值:
bool
示例:
_demoCtrl->SetItemTooltip();
4. SetItemTooltip
接口描述: 设置item的tooltip文本
参数值:
参数名 参数类型 参数含义 index int 索引位置,从0开始 text const tchar* tooltip文本内容 返回值:
bool
示例:
_demoCtrl->SetItemTooltip();
5. RemoveAll
接口描述: 删除所有的item
参数值:
无
返回值:
void
示例:
_demoCtrl->RemoveAll();
6. RemoveItem
接口描述: 根据索引移除item
参数值:
参数名 参数类型 参数含义 index int 索引号 返回值:
bool
示例:
_demoCtrl->RemoveItem();
7. SetItemIcon
接口描述: 设置item的图标
参数值:
参数名 参数类型 参数含义 index int 索引号 iconPath const tchar* 图标资源路径,在资源包中的路径 返回值:
bool
示例:
_demoCtrl->SetItemIcon();
8. GetItemIcon
接口描述: 获取item的图标
参数值:
参数名 参数类型 参数含义 index int 索引号 返回值:
const tchar* 图标资源路径,在资源包中的路径
示例:
_demoCtrl->GetItemIcon();
9. GetSelectedIndex
接口描述: 获取选中索引
参数值:
无
返回值:
int
示例:
_demoCtrl->GetSelectedIndex();
10. SetSelectedIndex
接口描述: 设置选中索引,如果为-1则表示清除所有选中
参数值:
参数名 参数类型 参数含义 index int 索引号 返回值:
void
示例:
_demoCtrl->SetSelectedIndex();
11. GetItemText
接口描述: 获取item文字内容
参数值:
参数名 参数类型 参数含义 index int 索引号 返回值:
const tchar*
示例:
_demoCtrl->GetItemText();
12. SetItemText
接口描述: 设置item文字内容
参数值:
参数名 参数类型 参数含义 index int 索引号 text const tchar* 文字内容 返回值:
bool
示例:
_demoCtrl->SetItemText();
13. SetVerticalScrollBar
接口描述: 绑定垂直滚动条
参数值:
参数名 参数类型 参数含义 pScrollBar IUIGearsControl* 滚动条控件指针 返回值:
void
示例:
_demoCtrl->SetVerticalScrollBar();
14. SetHorizontalScrollBar
接口描述: 绑定水平滚动条
参数值:
参数名 参数类型 参数含义 pScrollBar IUIGearsControl* 滚动条控件指针 返回值:
void
示例:
_demoCtrl->SetHorizontalScrollBar();
15. SetMultiSelect
接口描述: 设置是否支持多选
参数值:
参数名 参数类型 参数含义 multiSelect bool 是否支持多选 返回值:
void
示例:
_demoCtrl->SetMultiSelect();
16. GetMultiSelect
接口描述: 获取是否支持多选
参数值:
无
返回值:
bool
示例:
_demoCtrl->GetMultiSelect();
17. SetDragSelect
接口描述: 设置是否打开拖拽选框选择
参数值:
参数名 参数类型 参数含义 dragSelect bool 拖拽选择 返回值:
void
示例:
_demoCtrl->SetDragSelect();
18. GetDragSelect
接口描述: 获取是否打开拖拽选框选择
参数值:
无
返回值:
bool
示例:
_demoCtrl->GetDragSelect();
19. IsSelected
接口描述: 是否选择某项
参数值:
参数名 参数类型 参数含义 index int 索引 返回值:
bool
示例:
_demoCtrl->IsSelected();
20. GetMultiSelectedItems
接口描述: 获取多选的选择
参数值:
无
返回值:
std::vector<int> 索引列表
示例:
_demoCtrl->GetMultiSelectedItems();
21. GetItemCount
接口描述: 获取item数量
参数值:
无
返回值:
int
示例:
_demoCtrl->GetItemCount();
22. SetItemHeight
接口描述: 设置item高度
参数值:
参数名 参数类型 参数含义 height int item高度 返回值:
void
示例:
_demoCtrl->SetItemHeight();
23. GetItemHeight
接口描述: 获取item高度
参数值:
无
返回值:
int
示例:
_demoCtrl->GetItemHeight();
24. SetShowIcon
接口描述: 设置是否显示图标
参数值:
参数名 参数类型 参数含义 show bool 显示图标 返回值:
void
示例:
_demoCtrl->SetShowIcon();
25. GetShowIcon
接口描述: 查询是否显示图标
参数值:
无
返回值:
bool
示例:
_demoCtrl->GetShowIcon();
26. SetIconOffset
接口描述: 设置图标的左侧偏移量
参数值:
参数名 参数类型 参数含义 offset int 偏移量 返回值:
void
示例:
_demoCtrl->SetIconOffset();
27. GetIconOffset
接口描述: 获取图标的左侧偏移量
参数值:
无
返回值:
int
示例:
_demoCtrl->GetIconOffset();
28. SetDrawBorder
接口描述: 设置是否绘制边框
参数值:
参数名 参数类型 参数含义 show bool 是否绘制边框 返回值:
void
示例:
_demoCtrl->SetDrawBorder();
29. GetDrawBorder
接口描述: 获取是否绘制边框
参数值:
无
返回值:
bool
示例:
_demoCtrl->GetDrawBorder();
30. SetBorderColor
接口描述: 设置边框颜色
参数值:
参数名 参数类型 参数含义 color int 颜色值,如0xffff0000 返回值:
void
示例:
_demoCtrl->SetBorderColor();
31. GetBorderColor
接口描述: 获取边框颜色
参数值:
无
返回值:
int
示例:
_demoCtrl->GetBorderColor();
32. SetBorderSize
接口描述: 设置边框粗细
参数值:
参数名 参数类型 参数含义 size int 粗细 返回值:
void
示例:
_demoCtrl->SetBorderSize();
33. GetBorderSize
接口描述: 获取边框粗细
参数值:
无
返回值:
int
示例:
_demoCtrl->GetBorderSize();
34. SetCanCancelSelected
接口描述: 设置是否可以点击空白位置取消选择
参数值:
参数名 参数类型 参数含义 cancelSelected bool 是否允许取消选择 返回值:
void
示例:
_demoCtrl->SetCanCancelSelected();
35. GetCanCancelSelected
接口描述: 查询是否可以点击空白位置取消选择
参数值:
无
返回值:
bool
示例:
_demoCtrl->GetCanCancelSelected();
36. SetBackgroundStyle
接口描述: 设置背景样式
参数值:
参数名 参数类型 参数含义 state UICommonState 状态类型 style IUIGearsRectStyle* 样式指针 返回值:
bool
示例:
_demoCtrl->SetBackgroundStyle();
37. GetBackgroundStyle
接口描述: 查询背景样式
参数值:
参数名 参数类型 参数含义 state UICommonState 状态类型 返回值:
IUIGearsRectStyle*
示例:
_demoCtrl->GetBackgroundStyle();
38. SetItemStyle
接口描述: 设置Item背景样式
参数值:
参数名 参数类型 参数含义 state UICommonState 状态类型 style IUIGearsRectStyle* 样式指针 返回值:
bool
示例:
_demoCtrl->SetItemStyle();
39. GetItemStyle
接口描述: 查询Item背景样式
参数值:
参数名 参数类型 参数含义 state UICommonState 状态类型 返回值:
IUIGearsRectStyle*
示例:
_demoCtrl->GetItemStyle();
40. SetTextStyle
接口描述: 设置Item字体样式
参数值:
参数名 参数类型 参数含义 state UICommonState 状态类型 style IUIGearsTextStyle* 样式指针 返回值:
bool
示例:
_demoCtrl->SetTextStyle();
41. GetTextStyle
接口描述: 查询Item字体样式
参数值:
参数名 参数类型 参数含义 state UICommonState 状态类型 返回值:
IUIGearsRectStyle*
示例:
_demoCtrl->GetTextStyle();
42. GetLMouseUpSelected
接口描述: 获取是否左键抬起选择,默认是按下选择
参数值:
无
返回值:
bool
示例:
_demoCtrl->GetLMouseUpSelected();
43. SetLMouseUpSelected
接口描述: 设置是否左键抬起选择,默认是按下选择
参数值:
参数名 参数类型 参数含义 enable bool 是否打开 返回值:
void
示例:
_demoCtrl->SetLMouseUpSelected();
44. SetEnableDragItem
接口描述: 设置是否允许拖拽item,打开后会产生拖拽事件
参数值:
参数名 参数类型 参数含义 enable bool 是否打开 返回值:
void
示例:
_demoCtrl->SetEnableDragItem();
45. SetEnableDragItem
接口描述: 查询是否允许拖拽item,打开后会产生拖拽事件
参数值:
无
返回值:
bool
示例:
_demoCtrl->SetEnableDragItem();
46. SetItemData
接口描述: 设置item的用户数据
参数值:
参数名 参数类型 参数含义 index int 索引号 data void* 用户数据 返回值:
bool
示例:
_demoCtrl->SetItemData();
47. GetItemData
接口描述: 获取item的用户数据
参数值:
参数名 参数类型 参数含义 index int 索引号 返回值:
void*
示例:
_demoCtrl->GetItemData();