Я использую CListCtrl в виде значков, но она прокручивается по горизонтали:Вертикальная полоса прокрутки в CListCtrl
1 3 5 7 -->
2 4 6 8 -->
Я бы скорее прокрутки по горизонтали:
1 2
3 4
5 6
| |
V V
Есть ли способ сделать это?
Я использую CListCtrl в виде значков, но она прокручивается по горизонтали:Вертикальная полоса прокрутки в CListCtrl
1 3 5 7 -->
2 4 6 8 -->
Я бы скорее прокрутки по горизонтали:
1 2
3 4
5 6
| |
V V
Есть ли способ сделать это?
Измените стиль выстраивания в дизайнере слева направо.
Кажется, я решил проблему, используя представление «Отчет». Через VS Designer это означает изменение стиля «Просмотр» для отчета, в результате чего элемент управления получает атрибут LVS_REPORT в файле .RC. Обратите внимание, что это эквивалентно вызову CListCtrl::SetView(LV_VIEW_DETAILS)
в коде. Однако этого недостаточно. Кроме того, необходимо создать столбец, если вы уже не имеете один с парой строк кода:
m_lstScenarios.InsertColumn(0, L"NO HEADER");
m_lstScenarios.SetColumnWidth(k_nListColScenario, LVSCW_AUTOSIZE);
Если вы не хотите, чтобы заголовок столбца, установите LVS_NOCOLUMNHEADER в конструкторе через ' No Column Header '.
В списке управления, для отображения содержимого с изображением в одной колонке с вертикальной полосы прокрутки .Add следующий код, В функции PreCreateWindow, добавьте следующую строку cs.style | = (LVS_REPORT | LVS_NOCOLUMNHEADER); и в функции OnIntialUpdate добавить следующую строку: fileList.InsertColumn (0, "", LVCFMT_LEFT | LVCFMT_IMAGE, 120, -1); ShowScrollBar (SB_VERT, 1); после этого, если вы хотите вставить данные в список, вы можете, но позаботьтесь о том, чтобы вы установили imagelist, а затем вставьте данные с помощью insertitem, например: fileList, insertitem (0, «India», 1); где 1-> - индекс изображения в imagelist.