gpt4 book ai didi

c++ - ListView 控件无列标题

转载 作者:行者123 更新时间:2023-11-28 01:44:35 25 4
gpt4 key购买 nike

我正在开发 C++ MFC 应用程序。我有 ListView 控件

  1. 我在 CListCtrl 类下定义了控制变量 (m_listCtrl) ( 资源 View 添加变量 )
  2. 我按照以下代码片段添加列

Output

没有列标题和列。任何帮助表示赞赏。

static void AddData(CListCtrl &ctrl, int row, int col, const char *str)
{
LVITEM lv;
lv.iItem = row;
lv.iSubItem = col;
lv.pszText = (LPSTR)str;
lv.mask = LVIF_TEXT;
if (col == 0)
ctrl.InsertItem(&lv);
else
ctrl.SetItem(&lv);
}


BOOL CmfcTestDlg::OnInitDialog()
{
//.. default code in MFC for dialog here
m_listCtrl.InsertColumn(0, "Page");
m_listCtrl.SetColumnWidth(0, 60);

m_listCtrl.InsertColumn(1, "Last Modified");
m_listCtrl.SetColumnWidth(1, 80);

m_listCtrl.InsertColumn(2, "Prioirty");
m_listCtrl.SetColumnWidth(2, 50);

m_listCtrl.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_FULLROWSELECT);

AddData(m_listCtrl, 0, 0, "First");
AddData(m_listCtrl, 0, 1, "Jan 2011");
AddData(m_listCtrl, 0, 2, "Medium");

AddData(m_listCtrl, 1, 0, "Second");
AddData(m_listCtrl, 1, 1, "Feb 2011");
AddData(m_listCtrl, 1, 2, "High");

return TRUE; // return TRUE unless you set the focus to a control
}

最佳答案

因为您有一个对话框模板,所以您必须在那里设置标题的样式。

单击资源编辑器中的控件。确保您选择了样式报告(外观部分,属性 View )。

在部分外观中,将No Column Header设置为No

如果您通过自己的代码创建 ListView ,请不要使用LVS_NOCOLUMNHEADER

样式

列标题的样式定义为负数。所以如果你想抑制标题,你可以设置样式。大多数其他样式都是正面定义的,您需要它们,所以您可以设置样式。有时令人困惑。

关于c++ - ListView 控件无列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45685646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com