Класс CComboBox
Предоставляет функциональные возможности полей со списком Windows.
class CComboBox : public CWnd
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает объект CComboBox. |
Открытые методы
Имя |
Описание |
---|---|
Добавляет строку в конец списка в списке поля со списком или в сортированной позиции для списков с учетом CBS_SORT. |
|
Удаляет (снимите клиринги) текущее выделение, при наличии таковой, в элементе управления "Поле ввода". |
|
Вызываемый платформой, чтобы указать относительное положение нового элемента списка в сортированном определяемый пользователем поля со списком. |
|
Копирует текущее выделение, при наличии таковой, в буфер обмена в формате CF_TEXT. |
|
Создает поля со списком и вложение его к объекту CComboBox. |
|
Удаляет (отрезки) текущее выделение, при наличии таковой, в элементе управления "Поле ввода" и копиях удалено текста в буфер обмена в формате CF_TEXT. |
|
Вызываемый платформой, если элемент списка будет удалена из определяемого пользователем поля со списком. |
|
Удаляет строку из списка поля со списком. |
|
Добавляет список имен файлов в список поля со списком. |
|
Вызываемый платформой, когда визуальных аспектов определяемого пользователем поля со списком. |
|
Находит первую строку, содержащий указанный префикс в списке поля со списком. |
|
Находит первую строку списка в поле со списком), соответствующий указанной строки. |
|
Получить данные об объекте CComboBox. |
|
Получает число элементов в списке поля со списком. |
|
Получает текст очереди, отображаемый для элемента управления " поле со списком. |
|
Извлекает индекс выбранного в данный момент элемента, если они есть в списке поля со списком. |
|
Получает координаты экрана видимого (удаленный вниз) списка в поле со списком. |
|
Определяет, является ли список поле со списком отображаются (удаленный вниз). |
|
Получает ширину разрешенная минимумом для части раскрывающегося списка в поле со списком. |
|
Получает начальный и конечный позиции символа текущего выделения в элементе управления "Поле ввода" поля со списком. |
|
Указывает, имеет ли поле со списком интерфейс пользователя по умолчанию или расширенный пользовательский интерфейс. |
|
Возвращает ширину в пикселях, что часть списка в поле со списком можно выполнять горизонтальную прокрутку. |
|
Извлекает приложение- предоставленное 32 разрядное значение, связанное с указанным элементом поля со списком. |
|
Извлекает приложение-, предоставляемый пакетом обновления 32-разрядный указатель, который связан с указанным элементом поля со списком. |
|
Получает высоту элементов списка в поле со списком. |
|
Получает строку из списка поля со списком. |
|
Возвращает длину строки в списке поля со списком. |
|
Извлекает код языка для поля со списком. |
|
Возвращает минимальное количество видимых элементов в раскрывающемся списке текущего поля со списком. |
|
Возвращает индекс первого элемента, видимого списка в поле со списком. |
|
Preallocates блоки памяти для элементов и строк списка в поле со списком. |
|
Вставляет строку в списке поля со списком. |
|
Ограничивает длину текста, пользователь может вводить в элемент управления "Поле ввода" поля со списком. |
|
Вызываемый платформой для определения измерения поля со списком, когда определенное пользователем поле со списком будет создано. |
|
Вставляет данные из буфера обмена в элемент управления "Поле ввода" с текущей позиции курсора. Данные вставляются только в случае, если буфер обмена содержит данные в формате CF_TEXT. |
|
Удаляет все элементы из списка и элемента управления "Поле ввода" поля со списком. |
|
Ищет строки в списке поля со списком и, если строка найдено, выберите пункт строка в списке и копировать строки в элемент управления "Поле ввода". |
|
Устанавливает текст очереди, отображаемый для элемента управления " поле со списком. |
|
Выбирает строку в списке поля со списком. |
|
Задает ширину минимально допустимую для части раскрывающегося списка в поле со списком. |
|
Выбирает символы в элементе управления "Поле ввода" поля со списком. |
|
Выбирает или интерфейс пользователя по умолчанию или расширенный пользовательский интерфейс для полей со списком, которое имеет стиль CBS_DROPDOWN или CBS_DROPDOWNLIST. |
|
Задает ширину в пикселях, что часть списка в поле со списком можно выполнять горизонтальную прокрутку. |
|
Устанавливает 32 разрядное значение, связанный с указанным элементом в поле со списком. |
|
Устанавливает указатель 32 бита, связанный с указанным элементом в поле со списком. |
|
Задает высоту элементов списка в поле со списком или высоту части элемента управления "Поле ввода" (или статический- text) поля со списком. |
|
Задает код языка для поля со списком. |
|
Задает минимальное количество видимых элементов в раскрывающемся списке текущего поля со списком. |
|
Указывает, что часть списка в поле со списком указывает элемент с указанным индексом в верхней части. |
|
Показывает или скрывает список полей со списком, которое имеет стиль CBS_DROPDOWN или CBS_DROPDOWNLIST. |
Заметки
Поле со списком состоит из списка или статическим, объединенные с элементом управления или элементом управления "Поле ввода". Часть списка элемента управления может отображаться все время или только списке, когда пользователь выбирает стрелку раскрывающегося списка рядом с элементом управления.
Выделенный элемент (если существует), то в списке отображается в статическом или элементе управления "Поле ввода". Кроме того, если поле со списком имеет стиль раскрывающемся списке, то пользователь может ввести начальный знак одного из элементов в списке и список, если видимый, выбирает следующий элемент с тем же начальным символом.
В следующей таблице сравниваются 3 поле со списком стили.
Стиль |
Если список отображается? |
Статический или элемент управления "Поле ввода"? |
---|---|---|
Простой |
Всегда |
Edit |
Раскрывающийся список |
Удаленный вниз |
Edit |
Раскрывающийся список |
Удаленный вниз |
Статический |
Можно создать объект CComboBox из шаблона диалогового окна или непосредственно в коде. В обоих случаях сначала вызвать конструктор CComboBox для создания объекта CComboBox; затем вызовите функцию-член Создание для создания элемента управления и вложить его к объекту CComboBox.
Если нужно обрабатывать сообщения уведомлений Windows, отправленные полем со списком с родительским элементом (обычно класс, производный от CDialog), то добавление функции-члена записи и обработчика сообщений сообщение- сопоставления в родительский класс для каждого сообщения.
Каждая запись сообщение-сопоставления принимает следующую форму:
Уведомление (id,memberFxn)ON_
где id задает идентификатор дочернего окна элемента управления " поле со списком, отправляющее уведомление и memberFxn имя родительского функции-члена был написан для обработки уведомления.
Родительский прототип функции следующим образом:
afx_msgvoidmemberFxn**();**
Порядок, в котором будут отправлены некоторых уведомлений не удается спрогнозировать. В частности, уведомление CBN_SELCHANGE может возникнуть, то перед или после уведомлением CBN_CLOSEUP.
Потенциальных записей сообщение- сопоставления следующие:
ON_CBN_CLOSEUP (Windows 3.1 и более поздней версии). Список полей со списком закрыл. Это сообщение уведомления не отправлено для поля со списком, которое имеет стиль CBS_SIMPLE.
ON_CBN_DBLCLK Пользователь дважды щелкает строка в списке поля со списком. Это сообщение уведомления только отправлено для поля со списком с учетом CBS_SIMPLE. Для поля со списком с учетом CBS_DROPDOWN или CBS_DROPDOWNLIST, дважды щелкнув не может произойти, поскольку один пункт скрывать списка.
ON_CBN_DROPDOWN Список полей со списком рядом раскрывающегося (сделайте видимым). Это сообщение уведомления может использоваться только для поля со списком с учетом CBS_DROPDOWN или CBS_DROPDOWNLIST.
ON_CBN_EDITCHANGE Принимало действие, которое пользователь может изменять текст в части элемента управления "Поле ввода" поля со списком. В отличие от сообщение CBN_EDITUPDATE это сообщение отправлено после Windows обновляет экран. Он не отправлять если поле со списком имеет стиль CBS_DROPDOWNLIST.
ON_CBN_EDITUPDATE Часть элемента управления "Поле ввода" в поле со списком рядом с текстом измененных отображением. Это сообщение уведомления отправлено после того как элемент управления форматировал текст, но прежде, чем он отображает текст. Он не отправлять если поле со списком имеет стиль CBS_DROPDOWNLIST.
ON_CBN_ERRSPACE Поле со списком " не может выделить достаточно памяти для особому соответствовать требованию.
ON_CBN_SELENDCANCEL (Windows 3.1 и более поздней версии). Указывает, что выделение пользователя должно быть отменено. Пользователь щелкает элемент и выберите пункт другие окна или элемент управления, чтобы скрыть список поля со списком. Это сообщение уведомления отправлено до того, как сообщение уведомления CBN_CLOSEUP, чтобы указать, что выделение пользователя должно быть игнорирован. CBN_SELENDCANCEL Или сообщение уведомления CBN_SELENDOK отправлены даже если сообщение уведомления CBN_CLOSEUP не отправлено (как в случае с учетом поля со списком CBS_SIMPLE ).
ON_CBN_SELENDOK Пользователь выбирает элемент, а затем нажмите клавишу ВВОД или щелкните стрелку ВНИЗ или клавиши со стрелками, чтобы скрыть список поля со списком. Это сообщение уведомления отправлено до того, как сообщение CBN_CLOSEUP, чтобы указать, что выделение пользователя должно считаться допустимым. CBN_SELENDCANCEL Или сообщение уведомления CBN_SELENDOK отправлены даже если сообщение уведомления CBN_CLOSEUP не отправлено (как в случае с учетом поля со списком CBS_SIMPLE ).
ON_CBN_KILLFOCUS Поле со списком теряет фокус ввода.
ON_CBN_SELCHANGE Выделение в списке поля со списком перед изменением в результате пользователя или щелкните в списке или при изменении выделения с помощью клавиш со стрелками. При обработке это сообщение, текст в элементе управления "Поле ввода" поля со списком можно только получить через GetLBText или другую подобную функции. Невозможно использовать GetWindowText.
ON_CBN_SETFOCUS Поле со списком получает фокус ввода.
При создании объекта CComboBox в диалоговое окно (через ресурс диалогового окна), то объект CComboBox автоматически уничтожается, когда пользователь закрывает диалоговое окно.
Если внедрение объект CComboBox внутри другой объект окна, нет необходимости удалить его. При создании объекта CComboBox в стеке, он удален автоматически. При создании объекта CComboBox в куче с помощью функции новый, необходимо вызвать метод удалить в объекте, чтобы удалить его, если поле со списком Windows удалено.
Примечание Если нужно обрабатывать сообщения, и WM_KEYDOWNWM_CHAR подкласс управления, правка и списка полей со списком, создавать производные классы от CEdit и CListBox и добавить обработчики для этих сообщений к производным классам. Дополнительные сведения см. в разделе https://support.microsoft.com/default.aspx?scid=kb;en-us;Q174667 и CWnd::SubclassWindow.
Иерархия наследования
CComboBox
Требования
Заголовок: afxwin.h