DmitryShm1 Гость
|
Добавлено: Пн Мар 22 2004 11:51 Заголовок сообщения: ошибка в коде: проблема в замене текста заголовка CListCtrl |
|
|
Цель: замена текста заголовка лист контрола (в report view) на новый.
Я это делаю так.
LVCOLUMN col;
ZeroMemory(&col, sizeof(LVCOLUMN));
col.mask = LVCF_TEXT;
if ( !m_right_List.GetColumn(0, &col) )
AfxMessageBox("GetColumn failed");
strcpy(col.pszText, <новый текст>);
if ( !m_right_List.SetColumn(0, &col) )
AfxMessageBox("SetColumn failed");
Проверьте, пожалуйста, в чем ошибка.
Кусок кода выдает ошибку доступа к памяти, а еще иногда Visual Studio 6 говорит, что
_AFXCMN_INLINE BOOL CListCtrl::GetColumn(int nCol, LVCOLUMN* pColumn) const
{
ASSERT(::IsWindow(m_hWnd));
return (BOOL) ::SendMessage(m_hWnd,
LVM_GETCOLUMN,
nCol,
(LPARAM)pColumn);
}
не проходит ASSERT(..) .
Если Вы можете сказать, как сами это делали, то прошу Вас помочь. |
|
Леша
Зарегистрирован: 18.03.2004 Сообщения: 8
|
Добавлено: Пн Мар 22 2004 20:15 Заголовок сообщения: |
|
|
//This work for new CListCtrl
LV_COLUMN lvc;
int nMask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
lvc.mask = nMask;
int nFmt =LVCFMT_LEFT;
lvc.fmt = nFmt;
lvc.cx =95;
lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
static char* title[]={"TEST1","TEST2 ","TEST3"};
for (int nItem=0;nItem<3;nItem++)
{
lvc.pszText =title[nItem];
m_ReportList. InsertColumn(nItem,&lvc); // CListCtrl m_ReportList;
} |
|