Младшее слово параметра 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 Список получает фокус ввода