首页 > 系统相关 >Windows图形界面(GUI)-MFC-C/C++ - 列表视图(List Control) - CListCtrl

Windows图形界面(GUI)-MFC-C/C++ - 列表视图(List Control) - CListCtrl

时间:2024-08-09 18:27:47浏览次数:10  
标签:Control 图形界面 List 视图 列表 ListView nItem

目录

列表视图(List Control) - CListCtrl

创建列表视图

设置列表视图属性

成员函数

注意事项

示例代码


列表视图(List Control) - CListCtrl

创建列表视图
  • 在对话框编辑器中,从工具箱中拖拽一个List Control到对话框资源。在类向导中为List Control添加变量,类型为CListCtrl
设置列表视图属性
  • 在对话框的属性窗口中,可以设置List Control的各种属性,如视图模式(View)、列标题(Column Headers)等。

  • 视图模式:大图标、小图标、列表、详细信息。

  • 列标题:设置列的标题和宽度。

成员函数
  • InsertColumn:插入新列。

  • DeleteColumn:删除指定列。

  • SetColumnWidth:设置列的宽度。

  • InsertItem:插入新行。

  • DeleteItem:删除指定行。

  • DeleteAllItems:删除所有行。

  • SetItemText:设置指定行和列的文本。

  • GetItemText:获取指定行和列的文本。

  • SetItemState:设置指定行的状态。

  • etItemState:获取指定行的状态。

  • SetItemImage:设置指定行的图像。

  • GetItemImage:获取指定行的图像索引。

  • SortItems:使用用户提供的比较函数对列表视图进行排序。

  • SetExtendedStyle:设置列表视图的扩展样式。

  • GetExtendedStyle:获取列表视图的扩展样式。

注意事项
  • 确保在创建列表视图之前,父窗口已经创建。

  • 列表视图的父窗口应该是对话框或框架窗口。

  • 列表视图的ID应该在对话框类的消息映射中正确映射。

示例代码
void CMainDlg::OnBnClickedButton1()
{
	// 设置风格
	m_ListView.SetExtendedStyle(m_ListView.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);

	// 添加列
	m_ListView.InsertColumn(0, _T("序号"), LVCFMT_LEFT, 50);
	m_ListView.InsertColumn(1, _T("进程ID"), LVCFMT_LEFT, 80);
	m_ListView.InsertColumn(2, _T("进程名"), LVCFMT_LEFT, 80);
	m_ListView.InsertColumn(3, _T("进程路径"), LVCFMT_LEFT, 200);
}


void CMainDlg::OnBnClickedButton28()
{
	CString strIndex;
	int nItem = m_ListView.InsertItem(m_ListView.GetItemCount(), L" ");
	strIndex.Format(L"%d", nItem + 1);
	m_ListView.SetItemText(nItem, 0, strIndex);
	m_ListView.SetItemText(nItem, 1, _T("1024"));
	m_ListView.SetItemText(nItem, 2, _T("notepad.exe"));
	m_ListView.SetItemText(nItem, 3, _T("C:\\Windows\\System32\\Notepad.exe"));

}

void CMainDlg::OnNMDblclkList2(NMHDR* pNMHDR, LRESULT* pResult)
{
	LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
	if (pNMItemActivate->iItem != -1)
	{
		CString strIndex = m_ListView.GetItemText(pNMItemActivate->iItem, 3);
		ShellExecute(NULL, NULL, strIndex, NULL, NULL, SW_SHOWDEFAULT);
	}

	*pResult = 0;
}

标签:Control,图形界面,List,视图,列表,ListView,nItem
From: https://blog.csdn.net/2301_80612536/article/details/141036435

相关文章

  • MySQL 中创建视图设置字段类型
    参考:MySQL中创建视图设置字段类型在MySQL中创建视图时,不能直接在视图定义中指定新计算字段的数据类型。但是,你可以通过函数调用或其他表达式转换来隐式地确保新字段的类型。例如,如果你希望在视图中添加一个新的int类型的字段,你可以使用CAST()函数或CONVERT()函......
  • yum和rpm安装的Jenkins启动报错"Job for jenkins.service failed because the control
    jenkins卸载方式servicejenkinsstopyumcleanallyum-yremovejenkinsfind/-inamejenkins|xargs-n500rm-rf#文件名称符合name的文件。iname会忽略大小写#xargs命令可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数......
  • MySQL——数据库的设计、事务、视图
    文章目录数据库的设计1.多表之间的关系2.实现关系3.数据库设计的范式事务1.事务的基本介绍2.事务的四大特征ACID3.事务的隔离级别(了解即可)视图1.什么是视图?2.视图创建及使用方法3.注意事项4.为什么使用视图数据库的设计1.多表之间的关系一对一(了解)如:人和身份证......
  • AI绘画 Stable Diffusion后期处理—无需ControlNet也能轻松高清放大图像与老旧照片修
    大家好,我是设计师阿威分享了这么多期AI绘画StableDIffusion的入门教程和一些常用的插件玩法后,不知道大家有没有发现,SD还有一个功能,似乎没怎么用到过,它就是—后期处理。今天就给大家分享一下SD中的“后期处理”的常用玩法。后期处理可以选择「单张照片」、「批量处理......
  • 单价、库存视图
    ifobject_id('TEMPDB..#priceTable')isnotnullbegindroptable#priceTableendcreatetable#priceTable(polineCreatedOndate,pricevarchar(max),itemidvarchar(max),purchaseOrderdocnovarchar(max),)insertinto#priceTableselectmax(poli......
  • DevExpress WPF中文教程:如何在GridControl中对数据排序、分组、过滤?
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • 【禁止血压飙升】阿里大佬写的 Controller 太优雅了!
    作者:小塵链接:https://juejin.cn/post/7357172505961578511前言见过几千行代码的controller吗?我见过。见过全是trycatch的controller吗,我见过。见过全是字段校验的controller吗,我见过。见过全是业务代码的controller吗?不好意思,我们公司很多业务写在controller的......
  • PHP Laravel 5.2 HTTP控制器Controller介绍及示例
    在Laravel5.2中,HTTP控制器是用于处理HTTP请求的主要组件。控制器可以封装业务逻辑,并且可以使你的应用程序更加模块化和易于维护。下面我将详细介绍Laravel5.2中HTTP控制器的基本概念,并提供一些示例。创建控制器在Laravel5.2中,你可以使用Artisan命令来生成......
  • QT解析读取XML文件并显示在列表视图里
      背景:本地用数据库管理用户数据不方便,需要手动增删查改账户,存在安全风险,两个方案可供替代:1.调用接口来获取用户信息json,通过软件解析json字符串提取用户账号信息。2.直接跳过调用接口那一步,选择xml文件路径并解析。(由于第一种方案行不通,故使用第二种)步骤一:界面设计添加一......
  • 达梦数据库的系统视图v$mem_reginfo
    达梦数据库的系统视图v$mem_reginfo达梦数据库的V$MEM_REGINFO视图提供了系统当前已分配但未释放的内存信息。这个视图在MEMORY_LEAK_CHECK参数设置为1时才会注册信息,用于监控内存的申请和释放情况。通过查询V$MEM_REGINFO视图,可以关注REFNUM字段,如果该字段值很大,则可能存......