VS2022 MFC List Control控件学习记录1
打开视图-工具箱

拖动控件到窗体

设置视图

BOOL CLISTCDlg::OnInitDialog() 添加代码
// TODO: 在此添加额外的初始化代码
CRect rect;
// 获取编程语言列表视图控件的位置和大小
m_List.GetClientRect(&rect);
m_List.SetExtendedStyle(m_List.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);//
// 为列表视图控件添加全行选中和栅格风格
//m_List.InsertColumn(0, _T("ID"), LVCFMT_CENTER, rect.Width() /4, 0);
m_List.InsertColumn(0, _T("ID"), LVCFMT_CENTER, 50, 0);
m_List.InsertColumn(1, _T("公网IP"), LVCFMT_CENTER, 100, 1);
m_List.InsertColumn(2, _T("内网IP"), LVCFMT_CENTER, 100, 2);
m_List.InsertColumn(3,_T("操作系统"), LVCFMT_CENTER, 150,3);
m_List.InsertColumn(4, _T("计算机名"), LVCFMT_CENTER, 150, 4);
m_List.InsertColumn(5, _T("CPU"), LVCFMT_CENTER, 120, 5);
m_List.InsertColumn(6, _T("Ping"), LVCFMT_CENTER, 100, 6);
m_List.InsertColumn(7, _T("备注"), LVCFMT_CENTER, 100, 7);
//m_Errorlist.InsertItem(0, "caption");
//m_ListCtr.SetItemText(0,1,"content");
m_List.InsertItem(0, _T("1"));
m_List.SetItemText(0, 1, _T("45.25.165.17"));
m_List.SetItemText(0, 2, _T("192.168.1.25"));
m_List.SetItemText(0, 3, _T("Windows 11"));
m_List.SetItemText(0, 4, _T("NET CSDN"));
m_List.SetItemText(0, 5, _T("AMD"));
m_List.SetItemText(0, 6, _T("162"));
m_List.SetItemText(0, 7, _T("等待标记"));

右键点击删除
void CLISTCDlg::OnNMRClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
CString TEX;
POSITION pos = m_List.GetFirstSelectedItemPosition();
int nItem;
nItem = m_List.GetNextSelectedItem(pos)+1;//nItem即是选中行的序号
CString str;
str.Format(_T("你选中了第%d行"), nItem);
LPCTSTR pStr = LPCTSTR(str);
MessageBox(str, L"ni xuan zhong le", MB_OK);
MessageBox(str, L"即将删除该行", MB_OK);
m_List.DeleteItem(nItem-1);//删除行
*pResult = 0;
}

本文介绍了如何在VS2022环境下使用MFC的ListControl控件,包括设置全行选中和栅格风格,插入列和数据,以及实现右键删除行的功能。
4132

被折叠的 条评论
为什么被折叠?



