跳至主要內容

控件使用

chanchaw小于 1 分钟cpp

CListView

初始化和添加列

下面代码要求所在 cpp 是继承自 ListView 的,所以可以直接调用父类的 GetListCtrl 方法

CListCtrl& cListCtrl = GetListCtrl();// 获取视图控件对象
// 设置视图为报表样式,第三个参数保证在原本窗口样式的基础上再添加报表样式(LVS_REPORT)
SetWindowLong(cListCtrl.m_hWnd, GWL_STYLE, GetWindowLong(cListCtrl.m_hWnd, GWL_STYLE) | LVS_REPORT);
// 创建5个列
cListCtrl.InsertColumn(0,_T("服务名称"),LVCFMT_CENTER,100);
cListCtrl.InsertColumn(1, _T("状态"), LVCFMT_CENTER, 100);
cListCtrl.InsertColumn(2, _T("启动类型"), LVCFMT_CENTER, 100);
cListCtrl.InsertColumn(3, _T("文件路径"), LVCFMT_CENTER, 100);
cListCtrl.InsertColumn(4, _T("服务描述"), LVCFMT_CENTER, 300);
// 整行选中 | 显示网格线条
cListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);

// 新增一行,pHeaderServItem 是一个链表的头元素
for (int i = 0; pHeaderServItem != NULL; i++)
{
    cListCtrl.InsertItem(i,_T(""));
    cListCtrl.SetItemText(i, 0, pHeaderServItem->m_strServDispName);
    pHeaderServItem = pHeaderServItem->m_pNext;
}

右键菜单

![为 MFC ListView 添加鼠标右键事件](https://xdfznh.club/kbp/cpp/为 MFC ListView 添加鼠标右键事件.png)