Приведем список стилей, которые используются для создания органа управления класса "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, если список имеет фокус ввода и пользователь работает со списком при помощи клавиатуры |
Приведем список стилей, которые используются для создания органа управления класса "combobox". Многие из этих стилей вам уже знакомы.
Имя стиля | Описание |
CBS_AUTOHSCROLL | Выполняется автоматическая свертка текста по горизонтали в окне редактирования |
СBS_DISABLENOSCROLL | Если в одноколоночном списке помещаются все строки, вертикальная полоса просмотра изображается в неактивном состоянии. Этот стиль можно указывать для Windows версии 3.1 и более поздних версий |
CBS_DROPDOWN | Список остается в невидимом состоянии до тех пор, пока пользователь не нажмет пиктограмму, специально предназначенную для отображения списка |
CBS_DROPDOWNLIST | Аналогично предыдущему, но однострочный текстовый редактор может быть использован только для отображения текста, но не для редактирования |
СBS_HASSTRINGS | Создание списка, содержащего строки, который рисуется родительским окном |
СBS_NOINTEGRALHEIGHT | Допустимо частичное отображение строк |
СBS_OEMCONVERT | При вводе символов в окне редактирования выполняется их преобразование из кодировки ANSI в OEM и обратно. Этот стиль используется только совместно со стилями CBS_SIMPLE и CBS_DROPDOWN |
СBS_OWNERDRAWFIXED | Создается список, который рисуется родительским окном, причем все элементы в списке имеют одинаковую высоту |
СBS_OWNERDRAWVARIABLE | Аналогично предыдущему, но элементы списка могут иметь разную высоту |
СBS_SIMPLE | Создается список, который всегда виден и расположен под окном однострочного редактора текста, содержащего выделенную в списке строку. |
СBS_SORT | Строки списка будут отсортированы |
Среди описанных выше стилей можно выделить три базовых.
Стиль CBS_SIMPLE соответствует списку с окном редактирования (или, как его еще называют, окном выбора). Внешний вид такого списка показан на 2.19.
2. 19. Список, имеющий стиль CBS_SIMPLE
Если в окне редактирования вводить строку символов (образец), то по мере ввода в списке будут появляться (и выделяться) строки, совпадающие по начальным символам с образцом.