Элементы управления диалогового окна (C++)
Элементы управления можно добавить в диалоговое окно с помощью вкладки "Редактор диалогов" в окне панели элементов, которая позволяет выбрать нужный элемент управления и перетащить его в диалоговое окно. По умолчанию окно панели элементов устанавливается для автоматического скрытия. Он отображается как вкладка в левом поле решения при открытии редактора диалогов. Однако окно панели элементов можно закрепить в позиции, нажав кнопку "Авто скрыть" в правом верхнем углу окна. Дополнительные сведения о том, как управлять поведением этого окна, см. в разделе "Управление окнами".
Самый быстрый способ добавления элементов управления в диалоговое окно, изменения положения существующих элементов управления или перемещения элементов управления из одного диалогового окна в другое — использовать метод перетаскивания. Позиция элемента управления описывается в пунктирной строке, пока она не будет удалена в диалоговое окно. При добавлении элемента управления в диалоговое окно с методом перетаскивания элемент управления получает стандартную высоту, соответствующую этому типу элемента управления.
При добавлении элемента управления в диалоговое окно или его перепозиционирования его окончательное размещение может определяться направляющими или полями или включена ли сетка макета.
После добавления элемента управления в диалоговое окно можно изменить свойства, такие как его подпись в окне свойств. Вы также можете выбрать несколько элементов управления и изменить их свойства одновременно.
Дополнительные сведения о редакторе диалоговых окон см. в статье "Добавление, изменение и удаление элементов управления", "Элементы управления макетом" и "Определение доступа к элементам управления и значениям".
Дополнительные сведения об элементах управления и диалоговых окнах см. в разделах "Классы элементов управления", "Классы диалогового окна" и "Стили полосы прокрутки".
Стандартные элементы управления, доступные на панели элементов с событиями по умолчанию:
Имя элемента управления | Событие по умолчанию |
---|---|
Элемент управления Button | BN_CLICKED |
Элемент управления "Флажок" | BN_CLICKED |
Элемент управления Combo Box | CBN_SELCHANGE |
Изменение элемента управления | EN_CHANGE |
Группа | (неприменимо) |
Элемент управления List Box | LBN_SELCHANGE |
Элемент управления "Переключатель" | BN_CLICKED |
Элемент управления "Статический текст" | (неприменимо) |
Элемент управления "Рисунок" | (неприменимо) |
Элемент управления Rich Edit 2.0 | EN_CHANGE |
Элемент управления полосой прокрутки | NM_THEMECHANGED |
Примечание.
Дополнительные сведения об использовании элемента управления RichEdit 1.0 с MFC см. в разделе "Использование элемента управления RichEdit 1.0" с помощью MFC и примеров элементов управления rich Edit.
Общие элементы управления Windows, доступные на панели элементов для обеспечения расширенных функциональных возможностей:
Имя элемента управления | Событие по умолчанию |
---|---|
Элемент управления ползунка | NM_CUSTOMDRAW |
Элемент управления Спином | UDN_DELTAPOS |
Элемент управления "Ход выполнения" | NM_CUSTOMDRAW |
Элемент управления горячим ключом | NM_OUTOFMEMORY |
Элемент управления "Список" | LVN_ITEMCHANGE |
Элемент управления "Дерево" | TVN_SELCHANGE |
Элемент управления TAB | TCN_SELCHANGE |
Элемент управления анимацией | ACN_START |
Элемент управления "Выбор даты и времени" | DTN_DATETIMECHANGE |
Элемент управления "Календарь месяца" | MCN_SELCHANGE |
Элемент управления IP-адресом | IPN_FIELDCHANGED |
Расширенный элемент управления Combo Box | |
Пользовательский элемент управления | TTN_GETDISPINFO |
Пользовательские элементы управления
Редактор диалогов позволяет использовать существующие пользовательские или пользовательские элементы управления в шаблоне диалогового окна.
Примечание.
Пользовательские элементы управления в этом смысле не следует путать с элементами ActiveX. Элементы ActiveX иногда называются пользовательскими элементами управления OLE. Кроме того, не путайте эти элементы управления с элементами управления, нарисованными владельцем в Windows.
Эта функция предназначена для использования элементов управления, отличных от элементов управления, предоставляемых Windows. Во время выполнения элемент управления связан с классом Window (не так же, как класс C++). Более распространенный способ выполнить ту же задачу — установить любой элемент управления, например статический элемент управления, в диалоговом окне. Затем во время выполнения в функции OnInitDialog удалите этот элемент управления и замените его собственным пользовательским элементом управления.
Примечание.
Это старый метод. Сегодня рекомендуется в большинстве случаев написать элемент ActiveX или подкласс общего элемента управления Windows.
Для таких пользовательских элементов управления можно ограничиться следующими способами:
Задание расположения в диалоговом окне.
Ввод заголовка.
Определение имени класса Windows элемента управления, так как код приложения должен зарегистрировать элемент управления по этому имени.
Ввод 32-разрядного шестнадцатеричного значения, задающего стиль элемента управления.
Настройка расширенного стиля.
Требования
Win32