Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблемы с добавлением столбцов в MFC ActiveX Control, основанном на SysListView32

15K
15 декабря 2007 года
saypn
8 / / 29.05.2006
Суть проблемы:
Есть контрол, основанный на 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);
}

Сразу после запуска в тест-контейнере вылетает к чертям. Как же добавить столбцы в этот контрол?
15K
16 декабря 2007 года
saypn
8 / / 29.05.2006
Ошибка вылетала из-за того, что я отсылал сообщения контролу, который ещё не был создан. Это я разобрался. Теперь переопределил OnCreate и добавляю столбцы в нем. Но НИЧЕГО не добавляется.

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;
}

Помогите разобраться с проблемой.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог