Список стилей, которые используются для создания органа управления класса "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. Эти сообщения попадают в функцию родительского окна, благодаря чему оно может отслеживать операции, выполняемые пользователем над списком при помощи клавиатуры.