- Операционная система Microsoft Windows 3.1 для программиста
- 1.3. Окно и функция окна
- Окна Windows
- Окна Windows как объекты
- Функция окна
- Окно Windows: виды, основные элементы
- Окно Windows: что это такое?
- Основные типы окон
- Окна приложений
- Элементы управления окнами программ
- Варианты представления окон и основные операции с ними
- Окна документов
- Диалоговые окна
- Окна контекстных меню
- Всплывающие окна Windows
Операционная система Microsoft Windows 3.1 для программиста
1.3. Окно и функция окна
В этом разделе вы узнаете, что операционная система Windows является объектно-ориентированной средой.
Как это следует из названия операционной системы, основным объектом в Windows является окно. И это действительно так. Однако давайте уточним, что понимается под окном.
Окна Windows
С точки зрения пользователя Windows окном является прямоугольная область экрана, в которой приложение может что-либо рисовать или писать, а также выполнять все операции взаимодействия с пользователем. Например, на рис. 1.8 показано главное окно приложения Media Player, которое в данном случае используется для проигрывания звукового компакт-диска.
Рис. 1.8. Главное окно приложения Media Player
С точки зрения программиста то, что изображено на рис. 1.8, является совокупностью большого количества отдельных объектов, которые созданы приложением Media Player и самой операционной системой Windows. Для каждого объекта в приложении имеются свои данные и методы. Все эти объекты обычно называются окнами.
Такие объекты, как пиктограмма системного меню, кнопка минимизации, отдельные фрагменты толстой рамки, предназначенной для изменения размера основного окна, заголовок окна с надписью «Media Player — CD Audio (stopped)», а также полоса меню, — не что иное, как различные окна, создаваемые самой операционной системой Windows. Приложение не принимает никакого участия в формировании этих окон, оно просто указывает Windows, какие из перечисленных выше элементов необходимо создать.
Иное дело область, располагающаяся ниже полосы меню и ограниченная рамкой. Эта область представляет собой место, в котором приложение может рисовать и создавать новые окна.
Кнопки управления проигрывателем компакт-дисков, в качестве которого используется дисковод CD-ROM, представляют собой окна небольшого размера, создаваемые приложением. Приложение само формирует рисунок внутри такого окна. Ползунок и кнопки, расположенные справа от ползунка, также сформированы приложением из нескольких окон.
Обычно приложение создает одно, главное окно большого размера, которое ограничено сверху полосой меню (если есть меню) или заголовком и рамкой изменения размера с других сторон. Можно создать такое окно, которое не имеет ни рамки, ни заголовка, ни меню, ни других стандартных элементов, таких как пиктограмма системного меню или кнопки минимизации или максимизации размеров главного окна.
Внутри главного окна приложение может рисовать геометрические фигуры и графические изображения, писать текст или создавать любое количество окон меньшего размера.
Таким образом, любое приложение Windows можно рассматривать как совокупность окон, внутри которых можно что-либо рисовать или писать. Для каждого окна в приложении определены данные и методы, предназначенные для работы с этими данными (в частности, для рисования в окне).
Окна Windows как объекты
Все окна, формируемые приложением или операционной системой Windows для приложения, можно рассматривать как объекты, над которыми можно выполнять различные операции.
Проведем параллель с языком C++. В терминах языка C++ объект называется классом, который представляет из себя совокупность данных и методов, с помощью которых эти данные должны обрабатываться. Например, вы можете определить класс как совокупность простых переменных и структур, а также функций-членов (нам больше нравится название «функция-метод» или просто «метод»), выполняющих обработку данных, записанных в этих переменных или структурах.
В операционной системе Windows объектами, с которыми можно что-либо делать, являются окна — те самые окна, из которых формируется «внешний вид» приложения.
Для каждого такого окна приложение должно создать свои данные и свой набор методов, то есть функций, реагирующих на те или иные действия, которые выполняет над окнами оператор или операционная система.
Что это за действия?
Например, вы можете щелкнуть левой (или правой) кнопкой мыши в то время, когда курсор мыши находится над окном. Это событие, на которое окно может реагировать, а может и не реагировать. Вы можете щелкнуть мышью по любому окну, принадлежащему приложению, и каждое окно должно реагировать на это по-своему.
В Windows существует механизм, позволяющий задать для каждого окна данные и набор методов обработки событий, имеющих отношение к любому окну, созданному приложением.
Этот механизм основан на использовании так называемой функции окна (window function) и сообщений.
Функция окна
Функция окна — это обыкновенная (почти) функция языка С, которая определяется для одного окна или группы окон. Каждый раз, когда происходит какое-либо событие, имеющее отношение к окну (например, щелчок мышью в окне), операционная система Windows вызывает соответствующую функцию окна и передает ей параметры, описывающие событие. Функция окна анализирует эти параметры и выполняет соответствующие действия.
При возникновении события операционная система Windows формирует сообщение, описывающее событие, и затем направляет его в нужную функцию окна. В качестве параметров, передаваемых функции окна, используются отдельные компоненты сообщения, соответствующего событию (или, иными словами, созданному в результате появления события). Поэтому основная задача функции окна — обработка сообщений, распределяемых окну операционной системой Windows.
Можно считать, что единственная для каждого окна функция окна реализует все методы окна как объекта. В языке программирования C++, напротив, каждый метод объекта (класса) реализуется отдельной функцией, называемой обычно функцией-членом. Для реализации всех методов функция окна анализирует код сообщения, однозначно идентифицирующий событие и, следовательно, определяющий нужный метод.
В объектно-ориентированных языках программирования используется такое понятие, как наследование. Объекты могут наследовать методы других объектов. В операционной системе Windows также предусмотрен механизм наследования методов. Он реализуется с использованием так называемых классов окна.
Для каждого класса окна определяется функция окна. При создании окна необходимо указать, к какому классу оно будет принадлежать и, соответственно, какую функцию окна будет использовать для обработки сообщений. Приложения могут создавать собственные классы окна, определяя свои функции окна (и следовательно, свои методы), либо использовать стандартные, определенные в Windows классы окна.
Приведем пример. Пусть, например, нам надо создать окно, выполняющее функцию кнопки. Мы можем создать собственный класс окна и для него определить собственную функцию окна. Эта функция будет обрабатывать сообщения и при необходимости изображать в окне нажатую или отжатую кнопку, а также выполнять другие действия. Однако в Windows уже определен класс окна, соответствующий кнопкам. Если вы воспользуетесь этим классом, вам не придется создавать свою функцию окна, так как будет использоваться функция, уже имеющаяся в Windows и выполняющая все необходимые действия.
Любое создаваемое вами окно может наследовать свойства уже созданных ранее окон, добавляя свои или переопределяя уже имеющиеся в базовом классе методы. В этом и заключается механизм наследования Windows.
Использование механизма наследования значительно упрощает процесс создания приложений, так как для большинства стандартных органов управления, таких, как кнопки, меню, полосы просмотра и т. п., в операционной системе Windows уже определены классы окон и все необходимые методы.
Окно Windows: виды, основные элементы
Название операционной системы Windows переводится как «окна». Такой вариант представления и организации программных компонентов и элементов управления ими позволяет очень просто и удобно взаимодействовать с графическим интерфейсом системы. Далее, будут рассмотрены основные типы окон, которые могут появляться, а также некоторые элементы и действия с ними.
Окно Windows: что это такое?
Для определения сути этого термина, следует исходить из самой обычной его трактовки. Нетрудно догадаться, что окно Windows представляет собой прямоугольную область графического интерфейса на экране компьютерного монитора, в которой отображаются программы, документы, уведомления, подсказки и т. д.
Все окна можно разделить на два основных типа: с изменяемым и неизменяемым размером. Окно Windows с изменяемым размером можно встретить в отображении программ. Неизменяемый размер в основном применяется для окон документов, сообщений и всплывающих подсказок.
Кроме того, есть некоторые разновидности окон (чаще всего это сообщения), которые закрыть стандартным способом невозможно (кнопка с крестиком в окне отсутствует). Избавиться от таких уведомлений можно только путем нажатия на специальные кнопки внутри окна. Однако можно встретить и окна критических ошибок, которые не закрываются вообще (избавиться от них помогает только принудительная перезагрузка системы)
Основные типы окон
Итак, что представляет собой окно Windows, разобрались. Теперь посмотрим на основные типы окон, которые можно встретить в этой операционной системе. Среди основных видов выделяют следующие:
- окна приложений;
- окна документов;
- диалоговые окна;
- окна контекстных меню;
- всплывающие окна.
Окна программ и документов, которые в них созданы, между собой взаимосвязаны. Но окно приложения может отображаться само по себе (пустой документ), а окно документа без программы существовать отдельно не может. Это так называемый тип «окно в окне». Windows 10 или любая другая система – тому яркое подтверждение.
Кроме того, окно в окне достаточно часто можно встретить и в интернете, например, при просмотре фильма или прослушивании музыки онлайн, когда в качестве основного окна выступает оболочка веб-браузера, а в качестве второго – встроенный на ресурсе медиаплеер.
Окна приложений
Данный тип окон является самым большим классом в графическом интерфейсе системы, поскольку ее функционирование изначально построено на выполнении той или иной программы.
Окна программ Windows-систем представляют собой некую рабочую область, в которой создаются, редактируются или упорядочиваются документы и, в зависимости от типа и назначения приложения, могут присутствовать совершенно разные инструменты и элементы управления.
Элементы управления окнами программ
Однако для всех окон приложений можно выделить несколько общих элементов. В частности, это касается трех кнопок, которые обычно располагаются в правом верхнем углу.
Кнопка с крестиком предназначена для быстрого завершения работы программы. Кнопка с двумя квадратиками позволяет быстро уменьшить размер окна, после чего меняется на кнопку с одним квадратиком для быстрого развертывания основного окна во весь экран. Кнопка с нижней черточкой служит для сворачивания основного окна либо в «Панель задач» (но программа или редактируемый документ остаются активными в фоновом режиме, не мешая выполнению других процессов и приложений), либо в системный трей.
Также любое окно Windows-программы или стороннего разработчика может содержать специальную «шапку» с названием самого приложения и именем документа, при помощи нажатия на ней и удерживания кнопки мыши окно можно перетащить в любую область экрана (только при условии, что приложение в данный момент не работает в полноэкранном режиме), либо произвести быструю смену размера двойным кликом, что соответствует нажатию кнопки с квадратиком или двумя, как было указано выше.
Ниже, как правило, располагается специальная панель с инструментами самой программы, еще ниже находится рабочая область окна документа, в самом низу располагается строка состояния, в которой может отображаться текущая информация по самому документу, его параметрам, выполняемым в данный момент действиям и т. д. В некоторых приложениях она может отсутствовать вообще. В «родных» программах Windows она тоже может не отображаться по причине деактивации.
По бокам, чаще всего справа (или слева) и внизу (реже – сверху), находятся полосы прокрутки, которые позволяют перемещаться по невидимым в данный момент областям инструментария самой программы или редактируемого документа.
Варианты представления окон и основные операции с ними
Что касается представления и управления окнами Windows, для начала посмотрим на их вид. В зависимости от версии ОС, они могут выглядеть по-разному.
Так, например, в Windows 7 окна, вернее их некоторые элементы, являются полупрозрачными, поскольку изначально в самом интерфейсе системы установлен такой эффект (Aero), в Windows XP или Vista оформление объемное. В восьмой и десятой модификациях по причине применения интерфейса Metro все плоское.
Но в плане управления все окна имеют несколько общих правил. Если не используется полноэкранный режим, их можно перетягивать при зажатой левой кнопке мыши в любое место экрана, менять размер горизонтально и вертикально, устанавливая курсор на боковые границы, или производить пропорциональное изменение размера, установив курсор на угол окна.
Кроме того, одновременно открытые окна могут быть активными и неактивными (это видно по изменению цвета «шапки»), но активное окно всегда располагается на переднем плане. Чтобы активировать неактивное окно, достаточно перевести на него курсор и нажать левую кнопку мыши, хотя перемещаться между ними можно и при помощи сочетания Alt + Tab (собственно, такой метод подходит для всех программ, даже если они использует полноэкранный режим).
Наконец, кнопка или отдельно вызываемая команда «Свернуть все окна» в Windows-системах сворачивает все активные и неактивные окна программ в «Панель задач».
Окна документов
Этот тип окон представляет собой исключительно рабочую область в которой производится создание или редактирование информации определенного типа.
Эта область реагирует на действия с инструментарием основной программы, на ввод с клавиатуры или с другого источника. В частности, программы для создания музыки или редактирования звука воспринимают сигналы MIDI-клавиатур, подключенных электронных инструментов, микрофонов или внешних аудиовходов.
Диалоговые окна
Такие окна, как правило, либо уже имеются в каком-то приложении или на интернет-ресурсе, либо операционная система выводит их на экран самостоятельно.
Суть их появления состоит в том, что пользователю предоставляется некий выбор действий, без подтверждения которых дальнейшая работа программы или переход в следующей функции невозможны. В таких окнах могут содержаться списки или кнопки вроде «Да» («ОК»), «Нет», «Принять», «Отказаться», «Игнорировать», «Пропустить», «Повторить», «Отменить» и т. д. Иными словами, с точки зрения программирования, здесь применяется общеизвестный принцип «да, нет, иначе».
Окна контекстных меню
Этот тип окон обычно скрыт от глаз пользователя и вызывается в основном правым кликом. Такие меню содержат некоторые дополнительные команды, которые могут быть недоступными при использовании основных средств программы.
В самих Windows-системах сюда же интегрируются дополнительные строки, например, архиваторов, антивирусов, анлокеров и т. д.
Всплывающие окна Windows
Наконец, этот тип окон представляет собой разного рода подсказки или уведомления при совершении или требовании/предложении совершения каких-либо действий.
Системные уведомления чаще всего появляются в трее и оформлены в виде желтых прямоугольников. Другие подсказки могут возникать при наведении на них курсора в определенном месте рабочей области программы.