Windows图形界面(GUI)-DLG-C/C++ - 列表视图(ListView)

目录

列表视图(ListView)

控件类型

初始化控件环境

示例代码


列表视图(ListView)

控件类型

  • 详细信息视图(Report View):数据以列的形式显示,每个项目可以有多个属性或字段。

  • 图标视图(Icon View):数据以图标的形式显示,通常用于文件和文件夹等对象。

初始化控件环境

  • 包含公共控件的头文件
#include <commctrl.h>
#pragma comment(lib, "comctl32.lib")  
  • 调用InitCommonControlsEx函数
示例代码
	case WM_INITDIALOG:
	{
		// 初始环境
		INITCOMMONCONTROLSEX initComm = { 0 };
		initComm.dwSize = sizeof(INITCOMMONCONTROLSEX);
		initComm.dwICC = ICC_WIN95_CLASSES;
		InitCommonControlsEx(&initComm);

		// 初始控件	
		HWND hListView = GetDlgItem(hwnd, IDC_LIST5);
		ListView_SetExtendedListViewStyle(hListView, ListView_GetExtendedListViewStyle(hListView) | LVS_EX_FULLROWSELECT);
		
		LVCOLUMN lvc = { 0 };
		lvc.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM;
		lvc.pszText = (LPWSTR)TEXT("进程标识");
		lvc.cx = 150;
		lvc.iSubItem = 0;
		ListView_InsertColumn(hListView, 0, &lvc);

		lvc.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM;
		lvc.pszText = (LPWSTR)TEXT("进程文件");
		lvc.cx = 150;
		lvc.iSubItem = 1;
		ListView_InsertColumn(hListView, 1, &lvc);

		LVITEM lvi = { 0 };
		lvi.mask = LVIF_TEXT;
		lvi.iItem = 0;
		lvi.iSubItem = 0;
		lvi.pszText = (LPWSTR)TEXT("1024");
		ListView_InsertItem(hListView, &lvi);
		ListView_SetItemText(hListView, 0, 1, (LPWSTR)TEXT("C:\\Windows\\System32\\notepad.exe"));

		lvi.mask = LVIF_TEXT;
		lvi.iItem = 1;
		lvi.iSubItem = 0;
		lvi.pszText = (LPWSTR)TEXT("2048");
		ListView_InsertItem(hListView, &lvi);
		ListView_SetItemText(hListView, 1, 1, (LPWSTR)TEXT("C:\\Windows\\System32\\calc.exe"));

		return TRUE;
	}

	case WM_NOTIFY:
	{
		NMHDR* Info = (NMHDR*)lParam;

		switch (Info->idFrom)
		{
			case IDC_LIST5:
			{
				if (Info->code == NM_CLICK)
				{
					INT nIndex = ListView_GetNextItem(Info->hwndFrom, -1, LVNI_SELECTED);
					TCHAR szBuffer[0xFF] = { 0 };
					ListView_GetItemText(Info->hwndFrom, nIndex, 0, szBuffer, 0xFF);
					OutputDebugString(szBuffer);
				}
			}
		}

		return TRUE;
	}

相关推荐

  1. Windows图形界面(GUI)-DLG-C/C++ - 列表视图(ListView)

    2024-07-22 02:36:01       20 阅读
  2. Windows图形界面(GUI)-DLG-C/C++ - 树形视图(TreeView)

    2024-07-22 02:36:01       23 阅读
  3. Windows图形界面(GUI)-DLG-C/C++ - 状态栏(StatusBar)

    2024-07-22 02:36:01       21 阅读
  4. Windows图形界面(GUI)-DLG-C/C++ - 滑动条(Trackbar)

    2024-07-22 02:36:01       17 阅读
  5. Windows图形界面(GUI)-SDK-C/C++ - 列表框(List)

    2024-07-22 02:36:01       25 阅读
  6. Windows图形界面(GUI)-DLG-C/C++ - 图形界面程序结构

    2024-07-22 02:36:01       26 阅读
  7. Windows图形界面(GUI)-DLG-C/C++ - 对话框的创建实现

    2024-07-22 02:36:01       16 阅读
  8. Windows图形界面(GUI)-DLG-C/C++ - 静态控件(Static)

    2024-07-22 02:36:01       22 阅读
  9. Windows图形界面(GUI)-DLG-C/C++ - 月历控件(MonthCalendar)

    2024-07-22 02:36:01       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 02:36:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 02:36:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 02:36:01       45 阅读
  4. Python语言-面向对象

    2024-07-22 02:36:01       55 阅读

热门阅读

  1. 大规模语言模型从理论到实践 高效模型微调

    2024-07-22 02:36:01       17 阅读
  2. [11 Qt CMake开发]

    2024-07-22 02:36:01       21 阅读
  3. 显示隐式-》初始化 & 类型转换

    2024-07-22 02:36:01       17 阅读
  4. ReentrantLock源码

    2024-07-22 02:36:01       17 阅读
  5. 向量数据库Milvus

    2024-07-22 02:36:01       21 阅读
  6. 在 ASP.NET Core Web API 中实现审计跟踪

    2024-07-22 02:36:01       14 阅读
  7. leetcode-56. 合并区间

    2024-07-22 02:36:01       17 阅读
  8. 后端开发: 如何去使用公共组件

    2024-07-22 02:36:01       14 阅读
  9. 初步认识css(1)

    2024-07-22 02:36:01       17 阅读
  10. C++ Primer:4.4 赋值运算符

    2024-07-22 02:36:01       20 阅读