Элементы управления диалогового окна (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

См. также

Редактор диалоговых окон