工控编程吧
标题: 上位机MFC如何在列表控件中显示网格线 [打印本页]
作者: qq263946146 时间: 2019-7-29 13:01
标题: 上位机MFC如何在列表控件中显示网格线
报表都有网格来分割内容,但也可以隐藏或显示是否显示网格。
同样,列表框也可以设置是否有网格。
//设置列表控件显示网格线
m_ctrlList.SetExtendedStyle(LVS_EX_GRIDLINES);
对应上面的一代码。m_ctrlList为我们关联的列表控件。
这里也准备了一个例程。
关联了个列表控件后,在程序初始化时调用下面的代码,设置了列表控件。
- AfxOleInit();
- //设置列表控件的报表显示方式
- m_ctrlList.ModifyStyle(LVS_ICON | LVS_SMALLICON | LVS_LIST, LVS_REPORT);
- //在列表控件中插入列
- for (int n = 0; n < 4; n++)
- {
- CString strColumnHeading = _T("");
- strColumnHeading.Format(_T("Column %d"), n);
- m_ctrlList.InsertColumn(n, strColumnHeading, LVCFMT_LEFT, 100);
- }
- //在列表控件中插入项
- for (int m = 0; m < 10; m++)
- {
- CString strItem = _T("");
- strItem.Format("Item %d", m);
- m_ctrlList.InsertItem(m, strItem);
- //设置列表中项的文本和数据
- for (int n = 1; n < 4; n++)
- {
- CString strText = _T("");
- strText.Format(_T("SubItem %d %d"), m, n);
- m_ctrlList.SetItemText(m, n, strText);
- m_ctrlList.SetItemData(m, m);
- }
- }
- //设置列表控件的背景图片
- char c[100];
- GetModuleFileName(NULL,c,100);
- CString sName(c);
- sName= sName.Left(sName.ReverseFind('\\')+1);
- sName += "1.bmp";
- m_ctrlList.SetBkImage(sName.GetBuffer(0));
- //设置文本背景颜色为透明色
- m_ctrlList.SetTextBkColor(CLR_NONE);
- //设置列表控件整行选中
- m_ctrlList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
- //设置列表控件显示网格线
- m_ctrlList.SetExtendedStyle(LVS_EX_GRIDLINES);
复制代码
(, 下载次数: 0)