Поделиться через


Класс CComboBox

Предоставляет функциональные возможности полей со списком Windows.

class CComboBox : public CWnd

Члены

Открытые конструкторы

Имя

Описание

CComboBox::CComboBox

Создает объект CComboBox.

Открытые методы

Имя

Описание

CComboBox::AddString

Добавляет строку в конец списка в списке поля со списком или в сортированной позиции для списков с учетом CBS_SORT.

CComboBox::Clear

Удаляет (снимите клиринги) текущее выделение, при наличии таковой, в элементе управления "Поле ввода".

CComboBox::CompareItem

Вызываемый платформой, чтобы указать относительное положение нового элемента списка в сортированном определяемый пользователем поля со списком.

CComboBox::Copy

Копирует текущее выделение, при наличии таковой, в буфер обмена в формате CF_TEXT.

CComboBox::Create

Создает поля со списком и вложение его к объекту CComboBox.

CComboBox::Cut

Удаляет (отрезки) текущее выделение, при наличии таковой, в элементе управления "Поле ввода" и копиях удалено текста в буфер обмена в формате CF_TEXT.

CComboBox::DeleteItem

Вызываемый платформой, если элемент списка будет удалена из определяемого пользователем поля со списком.

CComboBox::DeleteString

Удаляет строку из списка поля со списком.

CComboBox::Dir

Добавляет список имен файлов в список поля со списком.

CComboBox::DrawItem

Вызываемый платформой, когда визуальных аспектов определяемого пользователем поля со списком.

CComboBox::FindString

Находит первую строку, содержащий указанный префикс в списке поля со списком.

CComboBox::FindStringExact

Находит первую строку списка в поле со списком), соответствующий указанной строки.

CComboBox::GetComboBoxInfo

Получить данные об объекте CComboBox.

CComboBox::GetCount

Получает число элементов в списке поля со списком.

CComboBox::GetCueBanner

Получает текст очереди, отображаемый для элемента управления " поле со списком.

CComboBox::GetCurSel

Извлекает индекс выбранного в данный момент элемента, если они есть в списке поля со списком.

CComboBox::GetDroppedControlRect

Получает координаты экрана видимого (удаленный вниз) списка в поле со списком.

CComboBox::GetDroppedState

Определяет, является ли список поле со списком отображаются (удаленный вниз).

CComboBox::GetDroppedWidth

Получает ширину разрешенная минимумом для части раскрывающегося списка в поле со списком.

CComboBox::GetEditSel

Получает начальный и конечный позиции символа текущего выделения в элементе управления "Поле ввода" поля со списком.

CComboBox::GetExtendedUI

Указывает, имеет ли поле со списком интерфейс пользователя по умолчанию или расширенный пользовательский интерфейс.

CComboBox::GetHorizontalExtent

Возвращает ширину в пикселях, что часть списка в поле со списком можно выполнять горизонтальную прокрутку.

CComboBox::GetItemData

Извлекает приложение- предоставленное 32 разрядное значение, связанное с указанным элементом поля со списком.

CComboBox::GetItemDataPtr

Извлекает приложение-, предоставляемый пакетом обновления 32-разрядный указатель, который связан с указанным элементом поля со списком.

CComboBox::GetItemHeight

Получает высоту элементов списка в поле со списком.

CComboBox::GetLBText

Получает строку из списка поля со списком.

CComboBox::GetLBTextLen

Возвращает длину строки в списке поля со списком.

CComboBox::GetLocale

Извлекает код языка для поля со списком.

CComboBox::GetMinVisible

Возвращает минимальное количество видимых элементов в раскрывающемся списке текущего поля со списком.

CComboBox::GetTopIndex

Возвращает индекс первого элемента, видимого списка в поле со списком.

CComboBox::InitStorage

Preallocates блоки памяти для элементов и строк списка в поле со списком.

CComboBox::InsertString

Вставляет строку в списке поля со списком.

CComboBox::LimitText

Ограничивает длину текста, пользователь может вводить в элемент управления "Поле ввода" поля со списком.

CComboBox::MeasureItem

Вызываемый платформой для определения измерения поля со списком, когда определенное пользователем поле со списком будет создано.

CComboBox::Paste

Вставляет данные из буфера обмена в элемент управления "Поле ввода" с текущей позиции курсора. Данные вставляются только в случае, если буфер обмена содержит данные в формате CF_TEXT.

CComboBox::ResetContent

Удаляет все элементы из списка и элемента управления "Поле ввода" поля со списком.

CComboBox::SelectString

Ищет строки в списке поля со списком и, если строка найдено, выберите пункт строка в списке и копировать строки в элемент управления "Поле ввода".

CComboBox::SetCueBanner

Устанавливает текст очереди, отображаемый для элемента управления " поле со списком.

CComboBox::SetCurSel

Выбирает строку в списке поля со списком.

CComboBox::SetDroppedWidth

Задает ширину минимально допустимую для части раскрывающегося списка в поле со списком.

CComboBox::SetEditSel

Выбирает символы в элементе управления "Поле ввода" поля со списком.

CComboBox::SetExtendedUI

Выбирает или интерфейс пользователя по умолчанию или расширенный пользовательский интерфейс для полей со списком, которое имеет стиль CBS_DROPDOWN или CBS_DROPDOWNLIST.

CComboBox::SetHorizontalExtent

Задает ширину в пикселях, что часть списка в поле со списком можно выполнять горизонтальную прокрутку.

CComboBox::SetItemData

Устанавливает 32 разрядное значение, связанный с указанным элементом в поле со списком.

CComboBox::SetItemDataPtr

Устанавливает указатель 32 бита, связанный с указанным элементом в поле со списком.

CComboBox::SetItemHeight

Задает высоту элементов списка в поле со списком или высоту части элемента управления "Поле ввода" (или статический- text) поля со списком.

CComboBox::SetLocale

Задает код языка для поля со списком.

CComboBox::SetMinVisibleItems

Задает минимальное количество видимых элементов в раскрывающемся списке текущего поля со списком.

CComboBox::SetTopIndex

Указывает, что часть списка в поле со списком указывает элемент с указанным индексом в верхней части.

CComboBox::ShowDropDown

Показывает или скрывает список полей со списком, которое имеет стиль 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.

Иерархия наследования

CObject

CCmdTarget

CWnd

CComboBox

Требования

Заголовок: afxwin.h

См. также

Ссылки

Класс CWnd

Диаграмма иерархии

Класс CWnd

Класс CButton

Класс CEdit

Класс CListBox

Класс CScrollBar

Класс CStatic

Класс CDialog

Основные понятия

MFC просматривает CTRLBARS