VS2019-MFC的listcontrol相关操作

4 篇文章 0 订阅
本文介绍了如何在Windows应用程序中设置ListView控件,包括设置列名、字体大小、行高以及列宽,并展示了如何通过响应按键事件实现使用Delete键删除ListView中的选中行。此外,还讲解了如何避免点击确定按钮时关闭对话框,使窗口保持打开状态。
摘要由CSDN通过智能技术生成

一、设置listcontrol

设置listcontrol列名(字体大小和行高),m_SaleList 为列表的名称

	// List Control 页面设置
	m_SaleList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);	// 整行选择、网格线
	m_SaleList.InsertColumn(0, _T("第一列"), LVCFMT_LEFT, 200);	 // 插入第1列的列名
	m_SaleList.InsertColumn(1, _T("第二列"), LVCFMT_LEFT, 150);	// 插入第2列的列名
	m_SaleList.InsertColumn(2, _T("第三列"), LVCFMT_LEFT, 300);	// 插入第3列的列名
	m_SaleList.InsertColumn(3, _T("第四列"), LVCFMT_LEFT, 180);	// 插入第4列的列名
	m_SaleList.InsertColumn(4, _T("第五列"), LVCFMT_LEFT, 150);	// 插入第5列的列名
	m_SaleList.InsertColumn(5, _T("第六列"), LVCFMT_LEFT, 150);	// 插入第6列的列名
	m_SaleList.InsertColumn(6, _T("第七列"), LVCFMT_LEFT, 150);	// 插入第7列的列名
	m_SaleList.InsertColumn(7, _T("第八列"), LVCFMT_LEFT, 150);	// 插入第8列的列名
	
    //设置行高
	CImageList   m_l;
	m_l.Create(1, 25, TRUE | ILC_COLOR32, 1, 0);   //设置表格的高度 
	m_SaleList.SetImageList(&m_l, LVSIL_SMALL);

	//设置字体
	CFont m_font;
	m_font.CreatePointFont(180, "新宋体"); //设置标题栏的高度及字体
	m_SaleList.SetFont(&m_font);

单独设置列宽还可用下列方式

	m_SaleList.SetColumnWidth(0, 120); //设置列宽
	m_SaleList.SetColumnWidth(1, 120);
	m_SaleList.SetColumnWidth(2, 120);
	m_SaleList.SetColumnWidth(3, 120);
	m_SaleList.SetColumnWidth(4, 120);
	m_SaleList.SetColumnWidth(5, 120);
	m_SaleList.SetColumnWidth(6, 120);

二、点击button后不关闭窗口

比如:给button添加处理事件,为函数OnBnClickedOk(),在函数内注释掉以下这一行代码

CDialogEx::OnOK();     //点击按钮后关闭页面

void Sale_Reception::OnBnClickedOk()        //结算:将列表中的商品记录到数据库中
{
	// TODO: 在此添加控件通知处理程序代码
	//CDialogEx::OnOK();     //点击按钮后关闭页面
}

三、用delete键来删除列表list的某一行

点击列表,添加事件处理程序OnKeydown

//delete键来删除列表的某一行
void Sale_Reception::OnKeydownList3_delete(NMHDR* pNMHDR, LRESULT* pResult)  
{
	LPNMLVKEYDOWN pLVKeyDow = reinterpret_cast<LPNMLVKEYDOWN>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
	if (VK_DELETE) {
		int nItem = m_SaleList.GetSelectionMark();
		m_SaleList.DeleteItem(nItem);
		*pResult = 0;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

住在阳光的心里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值