4#include "ItemsControl.h"
13 enum class ListViewImageList {
14 Normal = LVSIL_NORMAL,
17 GroupHeader = LVSIL_GROUPHEADER,
23 enum class ListViewColumnAlignment {
26 Center = LVCFMT_CENTER,
46 ListViewColumnAlignment
alignment = ListViewColumnAlignment::Left;
66 operator LVCOLUMNW()
const;
162 virtual bool OnNotify(NMHDR *pNMHDR, LRESULT &result)
override;
170 virtual bool OnNotified(NMHDR *pNMHDR, LRESULT &result)
override;
272 virtual bool UpdateItem(
int row,
int col,
const std::wstring &newValue);
371 HIMAGELIST
SetImageList(ListViewImageList imageList, HIMAGELIST value);
407 DWORD _GetExtendedListViewStyle();
413 DWORD _SetExtendedListViewStyle(DWORD style);
图像列表
Definition ImageList.h:12
表示可用于呈现一组项的控件
Definition ItemsControl.h:20
列表视图
Definition ListView.h:73
const Property< bool > Editable
是否允许编辑
Definition ListView.h:113
const Property< bool > MultiSelect
是否允许多选
Definition ListView.h:88
bool InsertColumn(int index, const std::wstring &header)
添加新的列到指定索引
const ReadOnlyProperty< int > ColumnsCount
列数
Definition ListView.h:78
virtual bool OnNotify(NMHDR *pNMHDR, LRESULT &result) override
接收到WM_NOTIFY后调用该函数
virtual bool UpdateItem(int row, int col, const std::wstring &newValue)
更新指定位置处文本
virtual void SetSelectedIndex(int index) override
设置选中项索引
virtual void OnHeaderItemDoubleClicked(NMHEADERW *pNMH)
鼠标左键双击列标题时调用该函数
virtual bool InsertItem(int index, const StrList &item) override
添加子项到指定索引
double GetColumnWidth(int index)
获取指定列的宽度
virtual StrList GetItemAt(int index) override
获取指定索引处子项的值
const ReadOnlyProperty< int > TopIndex
当前列表框页面第一个子项的索引
Definition ListView.h:103
bool SetItemImage(int index, int imgIndex)
设置指定子项的图像
bool AddColumn(const std::wstring &header)
添加新的列
List< int > GetSelectedIndices()
获取所有选中项的索引
virtual void SetBackColor(Color color, bool redraw) override
设置背景颜色
virtual void OnCheckStateChanged(int index)
复选框选中状态发生改变
virtual bool AddItem(const StrList &item) override
添加新的子项
virtual int GetItemsCount() override
获取子项数
virtual void OnItemClicked(NMITEMACTIVATE *pNMIA)
鼠标左键单击某一项时调用该函数
virtual int GetSelectedIndex() override
选中项的索引,当无选中项时为-1
const Property< bool > CheckBoxes
是否在第一列显示复选框
Definition ListView.h:98
virtual void OnGetDispInfo(NMLVDISPINFOW *pNMInfo)
当OnNotified接收到LVN_GETDISPINFOW通知时调用该函数
bool SetColumnWidth(int index, double width)
设置指定列的宽度
bool RemoveColumnAt(int index)
移除指定列
bool SetColumnHeader(int index, const std::wstring &header)
设置指定列的标题
virtual StrList GetSelectedItem() override
获取选中项
bool InsertColumn(int index, const ListViewColumn &column)
添加新的列到指定索引
virtual void OnItemChanged(NMLISTVIEW *pNMLV)
列表项某些属性发生变化时调用该函数
ImageList GetImageList(ListViewImageList imageList)
获取列表视图的图像列表
virtual bool RemoveItemAt(int index) override
移除指定索引处的子项
int GetItemIndexFromPoint(const Point &point)
获取指定点处子项的索引
virtual void OnItemDoubleClicked(NMITEMACTIVATE *pNMIA)
鼠标左键双击某一项调用该函数
const Property< bool > GridLines
是否显示网格线
Definition ListView.h:83
virtual bool UpdateItem(int index, const StrList &newValue) override
更新指定位置的子项
virtual void Clear() override
清空所有子项
bool AddColumn(const ListViewColumn &column)
添加新的列
bool GetItemCheckState(int index)
获取指定索引项的复选框是否选中
List< int > GetCheckedIndices()
获取所有复选框选中的项的索引
bool EditItem(int index)
进入编辑模式,调用该函数前需要将Editable属性设为true
virtual void SetTextColor(Color color, bool redraw) override
设置文本颜色
const Property< bool > ShareImageLists
允许将同一图像列表与多个列表视图控件配合使用,控件销毁时若该属性为true则不会销毁图像列表
Definition ListView.h:108
virtual bool OnNotified(NMHDR *pNMHDR, LRESULT &result) override
父窗口接收到WM_NOTIFY后且父窗口OnNotify函数返回false时调用发出通知控件的该函数
virtual bool OnEndEdit(NMLVDISPINFOW *pNMInfo)
编辑状态结束后调用该函数
const ReadOnlyProperty< int > SelectedCount
多选状态下可通过该属性获取选中项的个数
Definition ListView.h:93
virtual void OnHeaderItemClicked(NMHEADERW *pNMH)
鼠标左键单击列标题时调用该函数
HIMAGELIST SetImageList(ListViewImageList imageList, HIMAGELIST value)
设置列表视图的图像列表
virtual std::wstring GetItemAt(int row, int col)
获取指定位置处文本
void SetItemCheckState(int index, bool value)
设置指定索引项复选框的选中状态
列表类,内部维护了一个指向std::vector的智能指针
Definition List.h:27
属性
Definition Property.h:1743
只读属性
Definition Property.h:1828
列表视图的列信息
Definition ListView.h:32
ListViewColumnAlignment alignment
对齐方式
Definition ListView.h:46
std::wstring header
列标题
Definition ListView.h:36
ListViewColumn(const LVCOLUMNW &lvc)
从LVCOLUMNW构造
ListViewColumn(const std::wstring &header)
构造函数
ListViewColumn(const std::wstring &header, double width)
构造函数
double width
列宽度
Definition ListView.h:41
表示相对于左上角的点坐标
Definition Point.h:15