初学MFC, 准备使用CListCtrl来显示表格数据, 但是运行程序的时候总是出现DEBUG 断言失败错误的对话框, 忽略所有的错误后, 表格控件最后也没有显示数据.
这里是显示表格最简单的代码:
//插入列名
m_listReport.InsertColumn( 0, "COL1", LVCFMT_LEFT, 40 );
m_listReport.InsertColumn( 1, "COL2", LVCFMT_LEFT, 50 );
//插入数据
int rowId = m_listReport.InsertItem(0,"4444");
m_listReport.SetItemText(rowId, 0, "5555");
m_listReport.SetItemText(rowId, 1, "6666");
程序运行到m_listReport.SetItemText(rowId, 0, "5555"); 的时候就会出现断言失败的错.
通过DEBUG方法SetItemText, 发现代码里 (GetStyle() & LVS_OWNERDATA)==0为假, 所以程序运行到这里就会报错.
winctrl2.cpp中Line:494为
BOOL CListCtrl::SetItemText(int nItem, int nSubItem, LPCTSTR lpszText)