Младшее слово параметра lParam содержит идентификатор окна списка, а старшее - код извещения.
Параметр wParam сообщения WM_COMMAND содержит идентификатор списка.
Коды извещения
Стили списка
Приведем список стилей, которые используются для создания органа управления класса "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 equ 0001hCBS_DROPDOWN equ 0002hCBS_DROPDOWNLIST equ 0003hCBS_OWNERDRAWFIXED equ 0010hCBS_OWNERDRAWVARIABLE equ 0020hCBS_AUTOHSCROLL equ 0040hCBS_OEMCONVERT equ 0080hCBS_SORT equ 0100hCBS_HASSTRINGS equ 0200hCBS_NOINTEGRALHEIGHT equ 0400hCBS_DISABLENOSCROLL equ 0800hCBS_UPPERCASE equ 2000hCBS_LOWERCASE equ 4000h
Среди описанных выше стилей можно выделить три базовых: CBS_SIMPLE, CBS_DROPDOWN, CBS_DROPDOWNLIST.
Список "combobox" посылает в родительское окно сообщение WM_COMMAND.
Приведем список кодов извещения, поступающих от органа управления класса "combobox".
Код извещения | Описание |
CBN_CLOSEUP | Список исчез (стал невидим) |
CBN_DBLCLK | Двойной щелчок левой клавишей мыши по строке списка, имеющего стиль CBS_SIMPLE |
CBN_DROPDOWN | Список стал видимым |
CBN_EDITCHANGE | Пользователь изменил содержимое окна редактирования, причем изменения уже отображены |
CBN_EDITUPDATE | Пользователь изменил содержимое окна редактирования, изменения еще не отображены |
CBN_ERRSPACE | Ошибка при попытке заказать дополнительную память |
CBN_KILLFOCUS | Список теряет фокус ввода |
CBN_SELENDCANCEL | Пользователь отменил выбор в списке. |
CBN_SELENDOK | Пользователь выбрал строку в списке. |
CBN_SELCHANGE | Изменился номер выбранной строки (т. е. пользователь выбрал другую строку) |
CBN_SETFOCUS | Список получает фокус ввода |