Подходит ли MFC CListCtrl, если ни в одном столбце не требуется изображение / значок?

#c #mfc

#c #mfc

Вопрос:

Подчеркивается, что MFC CListCtrl может отображать маленькие / большие значки в различных режимах. Я хочу использовать элемент управления в режиме просмотра отчетов вообще без значков. Другими словами, я хочу отображать текст во всех столбцах.

Могу ли я это сделать? Если нет, то какой элемент управления MFC подходит для этой проблемы? Я поражен, что общая проблема отображения сетки с произвольным типом в любом столбце (или произвольного типа в любой строке / позиции столбца).

Я рассмотрел ListView, но я не думаю, что это подходит для моей проблемы.

Спасибо

Ответ №1:

Ответ — да, что уже можно сделать, посмотрев на доступные перегрузки InsertItem() метода. Простейшая перегрузка не требует, чтобы вы передавали индекс изображения:

 int InsertItem(
    int nItem,
    LPCTSTR lpszItem);
  

Даже при использовании самой сложной перегрузки вам не требуется определять индекс изображения:

 int InsertItem(const LVITEM* pItem);
  

Чтобы использовать LVITEM::iImage элемент, вам нужно будет включить LVIF_IMAGE флаг в LVITEM::mask элемент. Просто оставьте этот флаг в покое, чтобы вставить элемент без значка.

Ответ №2:

Конечно, mfc clistview работает без каких-либо значков в режиме отчета. Я использую его таким образом, как электронную таблицу бедняка.