Поле со списком (элементы управления 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, соответствующие константы стиля окна и сочетание следующих стилей полей со списком. |