Поле со списком (элементы управления Windows)

В этом разделе содержатся сведения о элементах программирования, используемых с полями со списком. Поле со списком — это уникальный тип элемента управления, определенный классом CO МБ OBOX, который объединяет большую часть функциональных возможностей поля списка и элемента управления редактирования.

Общие сведения

Раздел Содержимое
О полях со списком В этом разделе рассматриваются различные виды полей со списком.
Функции со списком В этом документе рассматриваются функции поля со списком.
Использование полей со списком В примерах кода в этом разделе показано, как выполнять задачи, связанные с полями со списком.

Функции

Раздел Содержимое
DlgDirListComboBox Заменяет содержимое поля со списком именами подкаталогов и файлов в указанном каталоге. Список имен можно отфильтровать, указав набор атрибутов файла. Список имен может включать сопоставленные буквы диска.
DlgDirSelectComboBoxEx Извлекает текущий выбор из поля со списком, заполненного с помощью функции DlgDirListComboBox. Выбор интерпретируется как буква диска, файл или имя каталога.
GetComboBoxInfo Извлекает сведения о указанном поле со списком.

Макросы

Раздел Содержимое
ComboBox_AddItemData Добавляет данные элемента в список в поле со списком в указанном расположении. Этот макрос можно использовать или явно отправить сообщение CB_ADDSTRING.
ComboBox_AddString Добавляет строку в список в поле со списком. Если поле со списком не имеет стиля CBS_SORT , строка добавляется в конец списка. В противном случае строка вставляется в список и отсортирован список. Этот макрос можно использовать или явно отправить сообщение CB_ADDSTRING.
ComboBox_DeleteString Удаляет элемент в указанном расположении в списке в поле со списком. Этот макрос можно использовать или явно отправить сообщение CB_DELETESTRING.
ComboBox_Dir Добавляет имена в список, отображаемый полем со списком. Макрос добавляет имена каталогов и файлов, которые соответствуют указанной строке и набору атрибутов файла. Он также может добавлять сопоставленные буквы дисков в список в поле со списком. Этот макрос можно использовать или явно отправить сообщение CB_DIR.
ComboBox_Enable Включает или отключает элемент управления со списком.
ComboBox_FindItemData Находит первый элемент в списке со списком с указанными данными элемента. Этот макрос можно использовать или явно отправить сообщение CB_FINDSTRING.
ComboBox_FindString Находит первую строку в списке со списком, который начинается с указанной строки. Этот макрос можно использовать или явно отправить сообщение CB_FINDSTRING.
ComboBox_FindStringExact Находит первую строку в списке со списком, который точно соответствует указанной строке, за исключением того, что поиск не учитывает регистр. Этот макрос можно использовать или явно отправить сообщение CB_FINDSTRINGEXACT.
ComboBox_GetCount Возвращает количество элементов в поле со списком. Этот макрос можно использовать или явно отправить сообщение CB_GETCOUNT.
ComboBox_GetCueBannerText Возвращает текст баннера подсказки, отображаемый в элементе управления редактированием поля со списком. Используйте этот макрос или явно отправьте сообщение CB_GETCUEBANNER.
ComboBox_GetCurSel Возвращает индекс выбранного элемента в поле со списком. Этот макрос можно использовать или явно отправить сообщение CB_GETCURSEL.
ComboBox_GetDroppedControlRect Извлекает координаты экрана поля со списком в раскрывающемся состоянии. Этот макрос можно использовать или явно отправить сообщение CB_GETDROPPEDCONTROLRECT.
ComboBox_GetDroppedState Определяет, отображается ли раскрывающийся список в элементе управления со списком. Этот макрос можно использовать или явно отправить сообщение CB_GETDROPPEDSTATE.
ComboBox_GetExtendedUI Определяет, использует ли поле со списком пользовательский интерфейс по умолчанию или расширенный пользовательский интерфейс. Этот макрос можно использовать или явно отправить сообщение CB_GETEXTENDEDUI.
ComboBox_GetItemData Возвращает определенное приложением значение, связанное с указанным элементом списка в поле со списком. Этот макрос можно использовать или явно отправить сообщение CB_GETITEMDATA.
ComboBox_GetItemHeight Извлекает высоту элементов списка в поле со списком. Этот макрос можно использовать или явно отправить сообщение CB_GETITEMHEIGHT.
ComboBox_GetLBText Возвращает строку из списка в поле со списком. Этот макрос можно использовать или явно отправить сообщение CB_GETLBTEXT.
ComboBox_GetLBTextLen Возвращает длину строки в списке в поле со списком. Этот макрос можно использовать или явно отправить сообщение CB_GETLBTEXTLEN.
ComboBox_GetMinVisible Возвращает минимальное количество видимых элементов в раскрывающемся списке поля со списком.
ComboBox_GetText Извлекает текст из элемента управления со списком.
ComboBox_GetTextLength Возвращает количество символов в тексте поля со списком.
ComboBox_InsertItemData Вставляет данные элемента в список в поле со списком в указанном расположении. Этот макрос можно использовать или явно отправить сообщение CB_INSERTSTRING.
ComboBox_InsertString Добавляет строку в список в поле со списком в указанном расположении. Этот макрос можно использовать или явно отправить сообщение CB_INSERTSTRING.
ComboBox_LimitText Ограничивает длину текста, который пользователь может ввести в элемент управления редактированием поля со списком. Этот макрос можно использовать или явно отправить сообщение CB_LIMITTEXT.
ComboBox_ResetContent Удаляет все элементы из списка и редактирует элемент управления со списком. Этот макрос можно использовать или явно отправить сообщение CB_RESETCONTENT.
ComboBox_SelectItemData Выполняет поиск списка в поле со списком для элемента с указанными данными элемента. Если найден соответствующий элемент, выбран элемент. Этот макрос можно использовать или явно отправить сообщение CB_SELECTSTRING.
ComboBox_SelectString Выполняет поиск списка в поле со списком для элемента, начинающегося с символов в указанной строке. Если найден соответствующий элемент, выбран элемент. Этот макрос можно использовать или явно отправить сообщение CB_SELECTSTRING.
ComboBox_SetCueBannerText Задает текст баннера подсказки, отображаемый для элемента управления редактированием поля со списком.
ComboBox_SetCurSel Задает выбранный элемент в поле со списком. Этот макрос можно использовать или явно отправлять сообщение CB_SETCURSEL.
ComboBox_SetExtendedUI Выбирает пользовательский интерфейс по умолчанию или расширенный пользовательский интерфейс для поля со списком с CBS_DROPDOWN или стилем CBS_DROPDOWNLIST. Этот макрос можно использовать или явно отправить сообщение CB_SETEXTENDEDUI.
ComboBox_SetItemData Задает определяемое приложением значение, связанное с указанным элементом списка в поле со списком. Этот макрос можно использовать или явно отправить сообщение CB_SETITEMDATA.
ComboBox_SetItemHeight Задает высоту элементов списка или поля выбора в поле со списком. Этот макрос можно использовать или явно отправить сообщение CB_SETITEMHEIGHT.
ComboBox_SetMinVisible Задает минимальное количество видимых элементов в раскрывающемся списке поля со списком.
ComboBox_SetText Задает текст поля со списком.
ComboBox_ShowDropdown Отображает или скрывает список в поле со списком. Этот макрос можно использовать или явно отправлять сообщение CB_SHOWDROPDOWN.

Сообщения

Раздел Содержимое
CB_ADDSTRING Добавляет строку в поле списка поля со списком. Если поле со списком не имеет стиля CBS_SORT , строка добавляется в конец списка. В противном случае строка вставляется в список, а список отсортирован.
CB_DELETESTRING Удаляет строку в списке поля со списком.
CB_DIR Добавляет имена в список, отображаемый полем со списком. Сообщение добавляет имена каталогов и файлов, которые соответствуют указанной строке и набору атрибутов файла. CB_DIR также можно добавить в список сопоставленные буквы дисков.
CB_FINDSTRING Ищет поле со списком поля со списком для элемента, начинающегося с символов в указанной строке.
CB_FINDSTRINGEXACT Находит первую строку списка в поле со списком, которое соответствует строке, указанной в параметре lParam .
CB_GETCOМБ OBOXINFO Возвращает сведения об указанном поле со списком.
CB_GETCOUNT Возвращает количество элементов в поле со списком.
CB_GETCUEBANNER Возвращает текст баннера подсказки, отображаемый в элементе управления редактированием поля со списком. Отправьте это сообщение явным образом или с помощью макроса ComboBox_GetCueBannerText.
CB_GETCURSEL Приложение отправляет сообщение CB_GETCURSEL , чтобы получить индекс выбранного в данный момент элемента, если таковой имеется, в списке поля со списком.
CB_GETDROPPEDCONTROLRECT Приложение отправляет CB_GETDROPPEDCONTROLRECT сообщение, чтобы получить координаты экрана поля со списком в состоянии удаления.
CB_GETDROPPEDSTATE Определяет, удаляется ли поле со списком поля со списком.
CB_GETDROPPEDWIDTH Возвращает минимальную допустимую ширину (в пикселях) списка поля со списком с CBS_DROPDOWN или стилем CBS_DROPDOWNLIST.
CB_GETEDITSEL Возвращает начальные и конечные позиции символов текущего выделения в элементе управления редактированием поля со списком.
CB_GETEXTENDEDUI Определяет, имеет ли поле со списком пользовательский интерфейс по умолчанию или расширенный пользовательский интерфейс.
CB_GETHORIZONTALEXTENT Получает ширину (в пикселях), которую поле списка можно прокручивать по горизонтали (ширина прокрутки). Это применимо только в том случае, если в списке есть горизонтальная полоса прокрутки.
CB_GETITEMDATA Приложение отправляет CB_GETITEMDATA сообщение в поле со списком, чтобы получить предоставленное приложением значение, связанное с указанным элементом в поле со списком.
CB_GETITEMHEIGHT Определяет высоту элементов списка или поля выбора в поле со списком.
CB_GETLBTEXT Возвращает строку из списка поля со списком.
CB_GETLBTEXTLEN Возвращает длину в символах строки в списке поля со списком.
CB_GETLOCALE Возвращает текущий языковой стандарт поля со списком. Языковой стандарт используется для определения правильного порядка сортировки отображаемого текста для полей со списком с CBS_SORT стилем и текстом, добавленным с помощью сообщения CB_ADDSTRING.
CB_GETMINVISIBLE Возвращает минимальное количество видимых элементов в раскрывающемся списке поля со списком.
CB_GETTOPINDEX Приложение отправляет сообщение CB_GETTOPINDEX , чтобы получить отсчитываемый от нуля индекс первого видимого элемента в поле со списком. Изначально элемент с индексом 0 находится в верхней части списка, но если содержимое поля списка было прокручено, другой элемент может находиться в верхней части.
CB_INITSTORAGE Приложение отправляет сообщение CB_INITSTORAGE перед добавлением большого количества элементов в поле со списком. Это сообщение выделяет память для хранения элементов списка.
CB_INSERTSTRING Вставляет данные строки или элемента в список поля со списком. В отличие от сообщения CB_ADDSTRING, сообщение CB_INSERTSTRING не приводит к сортировке списка сCBS_SORT стилем.
CB_LIMITTEXT Ограничивает длину текста, который пользователь может ввести в элемент управления редактированием поля со списком.
CB_RESETCONTENT Удаляет все элементы из списка и редактирует элемент управления со списком.
CB_SELECTSTRING Выполняет поиск списка поля со списком для элемента, начинающегося с символов в указанной строке. Если найден соответствующий элемент, он выбирается и копируется в элемент управления редактирования.
CB_SETCUEBANNER Задает текст баннера подсказки, отображаемый для элемента управления редактированием поля со списком.
CB_SETCURSEL Приложение отправляет сообщение CB_SETCURSEL , чтобы выбрать строку в списке поля со списком. При необходимости список прокрутит строку в представление. Текст в элементе управления редактированием поля со списком изменяется на отражение нового выделения, а любой предыдущий выбор в списке удаляется.
CB_SETDROPPEDWIDTH Приложение отправляет сообщение CB_SETDROPPEDWIDTH, чтобы задать максимальную допустимую ширину (в пикселях) списка поля со списком с CBS_DROPDOWN или CBS_DROPDOWNLIST стилем.
CB_SETEDITSEL Приложение отправляет сообщение CB_SETEDITSEL , чтобы выбрать символы в элементе управления редактированием поля со списком.
CB_SETEXTENDEDUI Приложение отправляет сообщение CB_SETEXTENDEDUI, чтобы выбрать пользовательский интерфейс по умолчанию или расширенный пользовательский интерфейс для поля со списком с CBS_DROPDOWN или CBS_DROPDOWNLIST стилем.
CB_SETHORIZONTALEXTENT Приложение отправляет сообщение CB_SETHORIZONTALEXTENT , чтобы задать ширину в пикселях, с помощью которой поле списка можно прокручивать по горизонтали (ширина прокрутки). Если ширина поля списка меньше этого значения, горизонтальная полоса прокрутки горизонтально прокручивает элементы в списке. Если ширина поля списка равна или больше этого значения, горизонтальная полоса прокрутки скрыта или, если поле со списком имеет стиль CBS_DISABLENOSCROLL , отключено.
CB_SETITEMDATA Приложение отправляет сообщение CB_SETITEMDATA , чтобы задать значение, связанное с указанным элементом в поле со списком.
CB_SETITEMHEIGHT Приложение отправляет сообщение CB_SETITEMHEIGHT , чтобы задать высоту элементов списка или поле выбора в поле со списком.
CB_SETLOCALE Приложение отправляет CB_SETLOCALE сообщение, чтобы задать текущий языковой стандарт поля со списком. Если поле со списком содержит стиль CBS_SORT и строки добавляются с помощью CB_ADDSTRING, языковой стандарт поля со списком влияет на сортировку элементов списка.
CB_SETMINVISIBLE Приложение отправляет сообщение CB_SETMINVISIBLE , чтобы задать минимальное количество видимых элементов в раскрывающемся списке поля со списком.
CB_SETTOPINDEX Приложение отправляет сообщение CB_SETTOPINDEX , чтобы убедиться, что определенный элемент отображается в списке поля со списком. Система прокручивает содержимое поля списка, чтобы в верхней части списка отображался указанный элемент или достигнут максимальный диапазон прокрутки.
CB_SHOWDROPDOWN Приложение отправляет сообщение CB_SHOWDROPDOWN для отображения или скрытия списка поля со списком с CBS_DROPDOWN или стилем CBS_DROPDOWNLIST.

Notifications

Раздел Содержимое
CBN_CLOSEUP Код уведомления CBN_CLOSEUP отправляется при закрытии списка поля со списком. Родительское окно поля со списком получает этот код уведомления через сообщение WM_COMMAND .
CBN_DBLCLK Код уведомления CBN_DBLCLK отправляется, когда пользователь дважды щелкает строку в списке поля со списком. Родительское окно поля со списком получает этот код уведомления через сообщение WM_COMMAND .
CBN_DROPDOWN Код уведомления CBN_DROPDOWN отправляется, когда появится поле со списком поля со списком. Родительское окно поля со списком получает этот код уведомления через сообщение WM_COMMAND .
CBN_EDITCHANGE Код уведомления CBN_EDITCHANGE отправляется после того, как пользователь принял действие, которое могло изменить текст в элементе управления редактированием поля со списком. В отличие от кода уведомления CBN_EDITUPDATE, этот код уведомления отправляется после обновления системы экрана. Родительское окно поля со списком получает этот код уведомления через сообщение WM_COMMAND .
CBN_EDITUPDATE Код уведомления CBN_EDITUPDATE отправляется, когда часть элемента управления редактирования поля со списком будет отображать измененный текст. Этот код уведомления отправляется после форматирования текста элемента управления, но перед отображением текста. Родительское окно поля со списком получает этот код уведомления через сообщение WM_COMMAND .
CBN_ERRSPACE Код уведомления CBN_ERRSPACE отправляется, если поле со списком не может выделить достаточно памяти для выполнения конкретного запроса. Родительское окно поля со списком получает этот код уведомления через сообщение WM_COMMAND .
CBN_KILLFOCUS Код уведомления CBN_KILLFOCUS отправляется, когда поле со списком теряет фокус клавиатуры. Родительское окно поля со списком получает этот код уведомления через сообщение WM_COMMAND .
CBN_SELCHANGE Код уведомления CBN_SELCHANGE отправляется, когда пользователь изменяет текущий выбор в поле со списком. Пользователь может изменить выбор, щелкнув в списке или с помощью клавиш со стрелками. Родительское окно поля со списком получает это уведомление в виде сообщения WM_COMMAND с CBN_SELCHANGE в слове высокого порядка параметра wParam.
CBN_SELENDCANCEL Код уведомления CBN_SELENDCANCEL отправляется, когда пользователь выбирает элемент, но затем выбирает другой элемент управления или закрывает диалоговое окно. Он указывает, что первоначальный выбор пользователя должен игнорироваться. Родительское окно поля со списком получает этот код уведомления через сообщение WM_COMMAND .
CBN_SELENDOK Код уведомления CBN_SELENDOK отправляется, когда пользователь выбирает элемент списка или выбирает элемент, а затем закрывает список. Он указывает, что выбор пользователя должен обрабатываться. Родительское окно поля со списком получает этот код уведомления через сообщение WM_COMMAND .
CBN_SETFOCUS Код уведомления CBN_SETFOCUS отправляется, когда поле со списком получает фокус клавиатуры. Родительское окно поля со списком получает этот код уведомления через сообщение WM_COMMAND .
WM_COMPAREITEM Система отправляет сообщение WM_COMPAREITEM , чтобы определить относительное положение нового элемента в отсортированный список отсортированного поля со списком или списком, нарисованным владельцем. Всякий раз, когда приложение добавляет новый элемент, система отправляет это сообщение владельцу поля со списком или списка, созданного с помощью стиля CBS_SORT или LBS_SORT .
WM_DRAWITEM Сообщение WM_DRAWITEM отправляется в родительское окно нарисованной владельцем кнопки, поля со списком, списка или меню при изменении визуального аспекта кнопки, поля со списком, списка или меню.
WM_MEASUREITEM Сообщение WM_MEASUREITEM отправляется в окно владельца поля со списком, списка, элемента управления представлением списка или элемента меню при создании элемента управления или меню.

Структуры

Раздел Содержимое
CO МБ OBOXINFO Содержит сведения о состоянии поля со списком.
COMPAREITEMSTRUCT Предоставляет идентификаторы и данные, предоставленные приложением, для двух элементов в отсортированного, нарисованного владельцем списка или поля со списком.
DRAWITEMSTRUCT Предоставляет необходимые сведения о окне владельца, чтобы определить способ рисования элемента управления или элемента меню, нарисованного владельцем. Окно владельца элемента управления или элемента меню владельца получает указатель на эту структуру в качестве параметра lParam сообщения WM_DRAWITEM.
MEASUREITEMSTRUCT Сообщает системе измерений элемента управления или элемента меню, нарисованного владельцем. Это позволяет системе правильно обрабатывать взаимодействие пользователей с элементом управления.

Константы

Раздел Содержимое
Стили полей со списком Чтобы создать поле со списком с помощью функции CreateWindow или CreateWindowEx, укажите класс CO МБ OBOX, соответствующие константы стиля окна и сочетание следующих стилей полей со списком.