9. Окна. Классы и типы окон (Ответы на вопросы билетов)
Описание файла
Файл "9. Окна. Классы и типы окон" внутри архива находится в следующих папках: Ответы на вопросы билетов, WinAPI - Ответы на вопросы билетов. PDF-файл из архива "Ответы на вопросы билетов", который расположен в категории "". Всё это находится в предмете "api windows" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "api windows" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
1.Окна, классы и типы окон.Окна – основной объект в Windows. С точки зрения пользователя Windows окном являетсяпрямоугольная область экрана, в которой приложение может что-либо рисовать или писать, атакже выполнять все операции взаимодействия с пользователем. Любое приложение Windowsможно рассматривать как совокупность окон, внутри которых можно что-либо рисовать илиписать. Для каждого окна в приложении определены данные и методы, предназначенные дляработы с этими данными (в частности, для рисования в окне).В ООП используется понятие наследования. Объекты могут наследовать методы другихобъектов. В Windows также предусмотрен такой механизм, реализуемый с использованием, такназываемых, классов окна.Для каждого класса окна определяется функция окна.
При создании окна необходимо указать,к какому классу оно будет принадлежать и, соответственно, какую функцию окна будетиспользовать для обработки сообщений. Приложения могут создавать собственные классы окна,определяя свои функции окна (и, следовательно, свои методы), либо использовать стандартные,определенные в Windows, классы окна.Любое создаваемое окно может наследовать свойства уже созданных ранее окон, добавляясвои или переопределяя уже имеющиеся в базовом классе методы.
В этом и заключается механизмнаследования Windows.Классы окон имеют стили. Вот ряд из них:1) CS_DBLCLKS – функция окна будет получать сообщение по двойному щелчку мыши2) CS_GLOBALCLASS – класс является глобальным и доступен другим приложениям3) CS_HREDRAW И CS_VREDRAW – внутренняя часть окна будет перерисовываться при изменении ширины ивысоты окна4) CS_NOCLOSE – в системном меню запрещена функция ция закрытия окна5) CS_CLASSDC – создается единый контекст отображения, который будет использоваться всеми окнами,создаваемыми на базе данного класса6) CS_OWNDC – для каждого окна, создаваемого на базе данного класса, будет создаваться отдельный контекстотображения.Определенный в классе окна стиль класса окна используется при создании на базе этого класса всехокон.
Для дальнейшего уточнения внешнего вида и поведения окна используется другая характеристика стиль окна. Стиль окна указывается при создании окна функцией CreateWindow.Для определения стиля окна используются символические константы с префиксом WS_,определенные в файле windows.h. С помощью этих констант можно определить примерно два десяткастилей окна, однако чаще всего используются несколько основных стилей.Мы рассмотрим три основных стиля (типа) окон - перекрывающиеся окна (overlapped window),временные окна (pop-up window) и дочерние окна (child window) – несовместимы между собой.Стили окна:1) Перекрывающиеся окна WS_OVERLAPPEDWINDOW – используются в качестве главногоокна приложения, обязательно имеют заголовок, рамку, внутреннюю часть (клиентская область),рамку.
Дополнительно могут иметь – системное меню, полосы прокрутки, кнопки свертки и т.д.2) Временные окна WS_POPUP – для вывода сообщений, остаются на экраненепродолжительное время. Может иметь или не иметь заголовок, системное меню.Окно (временное, перекрывающееся) может быть окном–владельцем (если оно сворачиваетсяв пиктограмму, все окна, которыми оно владеет, становятся невидимыми, если уничтожить –уничтожаться и подчиненные, подчиненные окна располагаются всегда над поверхностью окнавладельца, загораживая его). Оба типа окна используют экранные координаты.3) Дочерние окна WS_CHILD – для создания органов управления, напр.
кнопки,переключатели. Обычно не имеют рамок, заголовков и т.д. Всегда располагаются на поверхностиокна-родителя, система координат – в верхнем левом углу окна-родителя. Только дочерние окна(9-й параметр CreateWindow), могут иметь родителей, перекрывающие и временные окна могутиметь окно-хозяина (8-й параметр CreateWindow).Другие стили: WS_BORDER, WS_CAPTION, WS_HSCROLL, WS_MAXIMIZE, WS_VISIBLE,WS_MINIMIZE, WS_VSCROLL и другие..