Лекция №7. Органы управленияв в Windows-приложении. Кнопки, полоса просмотра, редактор текста

Любое стандартное приложение Windows использует различные органы управления, такие как кнопки, полосы просмотра, редакторы текстов, меню и т. д. Органы управления – это дочерние окна, созданные на базе предопределенных в Windows классов.

При регистрации класса окна необходимо указать адрес функции окна, обрабатывающей все сообщения, предназначенные окну. Операционная система Windows регистрирует несколько предопределенных классов окна, обеспечивая для них свои функции окна. Приложение может создавать окна на базе предопределенных классов, при этом им не требуется определять для этих окон функции окна. Эти функции уже определены и находятся внутри Windows.

Для органов управления, в Windows созданы классы окна. Например, в Windows имеется класс окна "button", на базе которого можно создавать кнопки. Функция окна, определенная внутри Windows для класса "button", обеспечивает все функциональные возможности кнопки. Поэтому программисту достаточно создать собственное дочернее окно на базе класса "button". Это окно сразу становится кнопкой и начинает вести себя как кнопка.

Отличительные черты органов управления:

– для них уже описаны классы окон;

– все они дочерние окна (стиля WS_CHILD);

– для них описаны дополнительные стили и списки обрабатываемых и получаемых сообщений;

– для них почти всегда нужно описывать идентификаторы.


Система для органов управления предусматривает несколько предопределенных классов окна. Приложение создает предопределенный орган управления, определяя соответствующее имя класса окна или в функции CreateWindowEx, или в шаблоне диалогового окна.

Предопределенные классы окна.

Имя Описание
BUTTON (Кнопка) Создает органы управления Кнопка.Эти органы управления обычно уведомляют родительское окно, когда пользователь выбирает этот орган управления.
COMBOBOX(Комбинированное окно) Создает комбинированные окна. Эти органы управления - комбинация полей списка и полей редактирования, которые позволяют пользователю выбрать и редактировать элементы.
EDIT (Поле редактирования) Создает поля редактирования.Эти органы управления позволяют пользователю просматривать и редактировать текст.
LISTBOX (Поле списка) Создает поля списка. Эти органы управления показывают на экране список из которого, пользователь может выбрать один или несколько элементов.
RichEdit (Улучшенный редактор текста) Создает органы управления Улучшенного редактора текста (Rich Edit). Эти органы управления позволяют пользователю просматривать и редактировать текст с форматированными символами и параграфами и могут включать в себя встроенные объекты Компонентной Объектной модели (COM).
RICHEDIT_CLASS (Класс Улучшенный редактор текста) Создает органы управления Улучшенного редактора текста (Rich Edit) версии 2.0 и 3.0. Эти органы управления позволяют пользователю просматривать и редактировать текст с форматированными символами и параграфами и могут включать в себя встроенные объекты COM.
SCROLLBAR (Полоса прокрутки) Создает органы управления полосы прокрутки.Эти органы управления позволяют пользователю выбирать направление и расстояние, на которое прокрутить информацию в связанном окне.
STATIC (Статический орган управления) Создает статические органы управления. Эти органы управления часто действуют как ярлыки для других органов управления.

Каждый предопределенный класс окна имеет:

1) соответствующий набор стилей органа управления, которые разрешают приложению изменить внешний вид и поведение органов управления, которые он создает. Например, класс BUTTON поддерживает стили, которые создают кнопки, радио-кнопки, окошки для установки флажка и поля групп. Приложение определяет стиль, создавая орган управления.

2) соответствующий набор уведомлений и сообщений органа управления. Приложения зависят от уведомляющих сообщений, чтобы определять, когда пользователь предоставляет вводимые данные органам управления. Например, кнопка отправляет сообщение BN_CLICKED родительскому окну тогда, когда пользователь щелкает по ней.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: