奇了怪了,report表格插入行数据问题
背景:ctrollist设置report风格,插入列表头,再插入每一行内容。
现象:编译不报错,但执行时,执行到“插入行内容”就触发中断。
相关代码:
//信息列表初始化设置
m_ctrlList.SetBkColor(RGB(160,180,220)); //设置列表框背景颜色,但不覆盖有文件部分
m_ctrlList.SetTextBkColor(RGB(160,180,220));//把文本部分背景设置成列表框背景颜色
//设置背景文字颜色
m_ctrlList.SetTextColor(RGB(200,85,125));
DWORD dwStyle=::GetWindowLong(m_ctrlList.m_hWnd,GWL_STYLE);
//设置为报表形式
SetWindowLong(m_ctrlList.m_hWnd,GWL_STYLE,dwStyle|LVS_REPORT);
DWORD ExStyle =m_ctrlList.GetExtendedStyle();
//设置为整栏选择和网格线
m_ctrlList.SetExtendedStyle(ExStyle|LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//初始化列表控件标题栏
m_ctrlList.InsertColumn(0,_T("编号"),LVCFMT_LEFT,65);
m_ctrlList.InsertColumn(1,_T("代号"),LVCFMT_LEFT,80);
//m_ctrlList.InsertItem( 0, _T("88") );
m_ctrlList.SetItemText (0, 1, _T("123"));
断点跟踪时,上面这句出的错,错误指向:文件 winctrl2.cpp
BOOL CListCtrl::SetItemText(int nItem, int nSubItem, LPCTSTR lpszText)
{
ASSERT(::IsWindow(m_hWnd));
ASSERT((GetStyle() & LVS_OWNERDATA)==0); LVITEM lvi; (指向这行)
lvi.iSubItem = nSubItem;
lvi.pszText = (LPTSTR) lpszText;
return (BOOL) ::SendMessage(m_hWnd, LVM_SETITEMTEXT, nItem, (LPARAM)&lvi);
}
到底是怎么回事呢,麻烦大家帮忙看看,O(∩_∩)O谢谢