Windows 使用Button动态给ListView控件增加和删除一行

Posted 胡刚2021

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows 使用Button动态给ListView控件增加和删除一行相关的知识,希望对你有一定的参考价值。

点击跳转到视频教程

Gitee代码链接(有100多MB)

新增加的文件为 AddButtonCtrlListView.cpp

和上一节程序 Windows 使用ListView控件 的变化是:
定义了两个Button的ID

UINT IDC_BUTTON_2 = 201;// 点击删除列表最后一行
UINT IDC_BUTTON_3 = 202;// 点击在列表末尾增加一行

并且把 hListCtrl 的定义从 case WM_CREATE: 内部提升到了函数外部

HWND hListCtrl;

以及,在 case WM_CREATE: 创建了两个Button

HWND hButtonWnd_2 = CreateWindow(WC_BUTTON, _T("点击删除列表中的一行"), WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE, 20, 120, 200, 50, hWnd, (HMENU)IDC_BUTTON_2, NULL, NULL);
HWND hButtonWnd_3 = CreateWindow(WC_BUTTON, _T("点击在列表末尾增加一行"), WS_CHILD | BS_PUSHBUTTON | WS_VISIBLE, 20, 180, 200, 50, hWnd, (HMENU)IDC_BUTTON_3, NULL, NULL);

最后,在 case WM_COMMAND: 增加了对两个Button的点击事件的处理

else if (nCode == BN_CLICKED && nCtrlID == IDC_BUTTON_2)

	int itemCount = ListView_GetItemCount(hListCtrl);
	// button2 被点击,删除列表中的最后一行
	ListView_DeleteItem(hListCtrl, itemCount - 1);

else if (nCode == BN_CLICKED && nCtrlID == IDC_BUTTON_3)

	int itemCount = ListView_GetItemCount(hListCtrl);
	LV_ITEM row_item = 0;
	row_item.mask |= LVIF_TEXT;
	row_item.pszText = (LPWSTR)_T("66666666");
	row_item.iItem = itemCount;
	// button3 被点击,在列表末尾增加一行
	int iRow = ListView_InsertItem(hListCtrl, &row_item);

点击运行后的画面如下:

点击 Button2 也就是 “点击删除列表中最后一行” 按钮后的效果如下:

点击 Button3 也就是 “点击在列表末尾增加一行” 按钮后的效果如下:

以上是关于Windows 使用Button动态给ListView控件增加和删除一行的主要内容,如果未能解决你的问题,请参考以下文章

asp.net后台给动态button按钮写事件

WPF 动态生成一个button 和一个textblock 怎么给textblock添加数据

微信小程序如通过判断动态决定button是否禁用

微信小程序如通过判断动态决定button是否禁用

微信小程序如通过判断动态决定button是否禁用

快速动态添加按钮