Стили списка

Список стилей, которые используются для создания органа управления класса "listbox".

Имя стиля Описание
LBS_DISABLENOSCROLL Если в одноколоночном списке помещаются все строки, вертикальная полоса просмотра изображается в неактивном состоянии. Без указания стиля LBS_DISABLENOSCROLL в аналогичной ситуации вертикальная полоса просмотра пропадает. Этот стиль можно указывать для Windows версии 3.1 и более поздних версий
LBS_EXTENDEDSEL Можно выделять не только отдельные строки, но и сразу несколько расположенных рядом строк. Для этого можно использовать клавишу <Shift> или мышь
LBS_HASSTRINGS Создание списка, содержащего строки. Этот стиль используется для всех списков, за исключением тех, которые рисуются родительским окном
LBS_MULTICOLUMN Создание многоколоночного списка. Для того чтобы задать количество колонок, в список необходимо послать сообщение LB_SETCOLUMNWIDTH
LBS_MULTIPLESEL Можно выделять в списке несколько строк сразу. Выделенные строки могут находиться в любом месте списка, а не только рядом (как при использовании стиля LBS_EXTENDEDSEL)
LBS_NOINTEGRALHEIGHT Допустимо частичное отображение строк (например, в нижней части списка можно отображать верхнюю половину строки)
LBS_NOREDRAW Для списка не выполняется перерисовка содержимого при добавлении или удалении строк. Этот стиль может быть динамически добавлен или удален посылкой списку сообщения WM_SETREDRAW
LBS_NOTIFY Родительское окно, создавшее список, получит извещение, если пользователь выполнит в списке двойной щелчок мышью по строке
LBS_OWNERDRAWFIXED Создается список, который рисуется родительским окном, причем все элементы в списке имеют одинаковую высоту
LBS_OWNERDRAWVARIABLE Аналогично предыдущему, но элементы списка могут иметь разную высоту
LBS_SORT Строки списка будут отсортированы
LBS_STANDARD Комбинация наиболее употребительных стилей списка: LBS_NOTIFY, LBS_SORT, WS_BORDER и WS_VSCROLL
LBS_USETABSTOPS При выводе строк списка будет выполняться преобразование символов табуляции. По умолчанию один символ табуляции расширяется на 32 единицы ширины (эти единицы используются в диалоговых панелях)
LBS_WANTKEYBOARDINPUT При использовании этого стиля родительское окно, создавшее список, будет получать сообщения WM_VKEYTOITEM или WM_CHARTOITEM, если список имеет фокус ввода и пользователь работает со списком при помощи клавиатуры

Значение стилей списка "listbox"

LBS_NOTIFY equ 1hLBS_SORT equ 2hLBS_NOREDRAW equ 4hLBS_MULTIPLESEL equ 8hLBS_OWNERDRAWFIXED equ 10hLBS_OWNERDRAWVARIABLE equ 20hLBS_HASSTRINGS equ 40hLBS_USETABSTOPS equ 80hLBS_NOINTEGRALHEIGHT еqu 100hLBS_MULTICOLUMN equ 200hLBS_WANTKEYBOARDINPUT equ 400hLBS_EXTENDEDSEL equ 800hLBS_DISABLENOSCROLL equ 1000hLBS_NODATA equ 2000hLBS_STANDARD equ LBS_NOTIFY OR LBS_SORT OR WS_VSCROLL OR WS_BORDER

Если указан стиль LBS_WANTKEYBOARDINPUT, то сообщения WM_KEYDOWN и WM_CHAR, получаемые списком (имеющим фокус ввода), создают сообщения WM_VKEYTOITEM или WM_CHARTOITEM. Эти сообщения попадают в функцию родительского окна, благодаря чему оно может отслеживать операции, выполняемые пользователем над списком при помощи клавиатуры.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: