Операционная система Windows 95 для программиста



    d8ef8794     

Создание окна List View


Окно органа управления List View создается функцией CreateWindowEx на базе класса окна WC_LISTVIEW , например так:

hwndList = CreateWindowEx(0L, WC_LISTVIEW, "", WS_VISIBLE | WS_CHILD | WS_BORDER | LVS_REPORT | LVS_EDITLABELS, 0, 0, rc.right - rc.left, rc.bottom - rc.top, hWnd, (HMENU)IDC_LISTVIEW, hInst, NULL);

Перед вызовом этой функции вы должны загрузить в память DLL-библиотеку COMCTL32.DLL , для чего следует вызвать функцию InitCommonControls без параметров.

В дополнение к обычным стилям окна, таким как WS_VISIBLE, WS_CHILD и WS_BORDER, необходимо указать специальные стили с префиксом имени LVS_, определяющие внешний вид и поведение органа управления List View. Как минимум, следует указать один из следующих четырех стилей: LVS_REPORT , LVS_ICON, LVS_SMALLICON или LVS_LIST.

Ниже мы привели краткое описание этих, а также остальных стилей окна List View.

Стиль Описание
LVS_REPORT Список отображается в виде детального отчета, состоящего из нескольких столбцов (рис. 3.1)
LVS_ICON Список отображается в виде окна с пиктограммами стандартного размера (рис. 3.2)
LVS_SMALLICON Список отображается в виде окна с пиктограммами уменьшенного размера (рис. 3.3)
LVS_LIST Простой список с пиктограммами уменьшенного размера (рис. 3.4)
LVS_ALIGNLEFT Используется вместе с LVS_ICON и LVS_SMALLICON. Если указан этот стиль, пиктограммы будут выровнены по левой границе
LVS_ALIGNTOP Используется вместе с LVS_ICON и LVS_SMALLICON. Если указан этот стиль, пиктограммы будут выровнены по верхней границе. Стиль LVS_ALIGNTOP используется по умолчанию
LVS_AUTOARRANGE Используется вместе с LVS_ICON и LVS_SMALLICON для выполнения автоматического размещения пиктограмм внутри окна органа управления List View
LVS_NOSCROLL Отключение возможности свертки содержимого окна органа управления List View
LVS_EDITLABELS Этот стиль позволяет пользователю редактировать название элемента списка. Если указан стиль LVS_EDITLABELS, приложение должно обрабатывать извещение LVN_ENDLABELEDIT, которое будет описано позже
LVS_NOCOLUMNHEADER Если указан стиль LVS_NOCOLUMNHEADER, в режиме детального просмотра не отображается заголовок столбцов, с помощью которого выполняется сортировка и изменение размера столбцов
LVS_NOLABELWRAP Подпись под пиктограммами отображается в одной строке
LVS_NOSORTHEADER Если указан этот стиль, с помощью заголовка окна невозможно выполнить сортировку столбцов в режиме детального просмотра
LVS_OWNERDRAWFIXED Стиль позволяет родительскому окну выполнить рисование содержимого списка. Для этого родительское окно должно обрабатывать сообщение WM_DRAWITEM
LVS_SHAREIMAGELIST Этот стиль предназначен для организации совместного использования списков изображений несколькими органами управления List View
LVS_SHOWSELALWAYS Выбранные элементы списка отображаются с выделением даже в том случае, когда орган управления List View не активен
LVS_SINGLESEL Пользователь может выделить в списке только один элемент (по умолчанию можно выделить сразу несколько элементов)
LVS_SORTASCENDING Выполнение сортировки текстовых строк элементов в прямом порядке
LVS_SORTDESCENDING То же, но в обратном порядке
<


Содержание    Вперед