当前位置: 代码迷 >> 综合 >> VS2019-MFC的listcontrol相关操作
  详细解决方案

VS2019-MFC的listcontrol相关操作

热度:27   发布时间:2023-09-22 20:32:40.0

一、设置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;}
}

  相关解决方案