我正在开发 C ++ MFC 应用程序。我有列表视图控件。
m_listCtrl
类下定义了控制变量(CListCtrl
)(
资源视图添加变量)没有列标题和列。任何帮助表示赞赏。
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
}
答案 0 :(得分:2)
因为你有一个对话框模板,你必须在那里设置标题的样式。
单击资源编辑器中的控件。确保选择了报告样式(部分外观,属性查看)。
在部分外观中,将无列标题设置为否
如果您使用自己的代码创建列表视图,请不要使用样式 LVS_NOCOLUMNHEADER
列标题的样式定义为否定。因此,如果要抑制标题,请设置样式。大多数其他样式都定义为positiv,您需要它们以便设置样式。有时令人困惑。