Проблемы с добавлением столбцов в MFC ActiveX Control, основанном на SysListView32
Есть контрол, основанный на SysListView32. В PreCreateWindow делаю:
BOOL CTableCtrl::PreCreateWindow(CREATESTRUCT& cs)
{
cs.lpszClass = _T("SysListView32");
cs.style |= LVS_LIST;
LVCOLUMN col;
col.cx = 200;
col.fmt = LVCFMT_LEFT;
SendMessage(LVM_INSERTCOLUMN, 0, (LPARAM)&col);
return COleControl::PreCreateWindow(cs);
}
Сразу после запуска в тест-контейнере вылетает к чертям. Как же добавить столбцы в этот контрол?
int CTableCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
LVCOLUMN col;
col.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
col.fmt = LVCFMT_LEFT;
col.cx = 30;
col.pszText = _T("Iron");
col.iSubItem = 0;
SendMessage(LVM_INSERTCOLUMN, 0, (LPARAM)&col);
return 0;
}
Помогите разобраться с проблемой.