- Типы окон в операционной системе Windows
- Окна приложений
- Окна документов
- Диалоговые окна
- Варианты представления окон
- Лекция 3. Иерархия окон Windows. Типы окон
- Какие бывают окна в Windows
- Стандартные окна
- Панель заголовка или по-другому навигация:
- Область меню
- Панель инструментов
- Диалоговое окно Windows:
- Модальное окно
- Немодальное окно
Типы окон в операционной системе Windows
Важнейшим элементом графического интерфейса Windows являются окна. Основные типы окон в операционной системе Windows – окна приложений, окна документа и диалоговые окна.
Окно – обрамленная прямоугольная область на экране монитора, в которой отражается приложение, документ, сообщение. Windows в переводе означает окна, которое отражает всю суть этой операционной системы.
Окно активно, если с ним в данный момент работает пользователь. Существуют следующие типы окон в операционной системе Windows.
Окна приложений
Приложение – комплекс взаимосвязанных программ для создания и модификации объектов (документов), а также для управления объектами определенного типа.
Окна приложений еще называют окна программ. В окне приложения выполняется любое запущенное на выполнение приложение или отражается содержимое папки. Открыть или закрыть окно приложения – то же, что и запустить программу на выполнение или завершить ее. Окна приложений можно перемещать на любое место Рабочего стола, разворачивать на весь экран или сворачивать в кнопки на панели задач.
Окна документов
Документ – объект Windows, созданный в приложении и содержащий информацию определенного вида.
Окна документов предназначены для работы с документами и расположены внутри окон приложений.
Диалоговые окна
Служат для настройки параметров операционной системы или приложения, выводит необходимые в процессе работы сообщения.
Возникает на экране чаще всего в результате выбора той или иной команды меню или нажатия кнопки панели инструментов. Иногда программа самостоятельно выдает диалоговое окно, чтобы узнать у пользователя, что ей делать дальше.
Варианты представления окон
Полноэкранный – окно развернуто и занимает весь экран.
Нормальный – окно занимает часть экрана.
Значок (пиктограмма) – окно «свернуто» в пиктограмму.
Пользователь может манипулировать окнами: изменять их границы, сворачивать и разворачивать, перемещать их в удобное место, или полностью закрыть, таким образом, прекратив работу с документом или программой. Размер окна можно установить на весь экран монитора, в так называемый полноэкранный режим или спрятать в панель задач рабочего стола. Программы могут открывать несколько окон, где будут показываться результаты работы или необходимая пользователю информация.
Лекция 3. Иерархия окон Windows. Типы окон
Для пользователя окно в Windows выглядит как прямоугольная экранная область. С системной точки зрения окно – это абстрактное понятие, обозначающее простейший элемент, с помощью которого взаимодействуют пользователь и приложение. Окна Windows разнообразны: есть и «очевидные» окна приложений и диалоговые окна, и «менее очевидные», такие, как рабочий стол, пиктограммы и кнопки.
Окно – это не только область, в которую приложение выводит свои данные, но и получатель сообщений, несущих информацию о произошедших в среде Windows событиях. Хотя понятие окна в Windows было введено за несколько лет до широкого распространения на ПК объектно-ориентированных языков программирования, для описания окон очень удобно применять ОО-терминологию: свойства окна определяют его внешний вид, а методы ответственны за реакцию на команды пользователя.
У каждого окна в Windows есть уникальный дескриптор окна (это число, которое можно рассматривать как имя окна, доступное и приложению, и самой Windows). Переменные для хранения оконных дескрипторов обычно имеют тип HWND.
Windows отслеживает события пользовательского интерфейса и преобразует их в сообщения. В структуру сообщения помещается и дескриптор окна-получателя. Затем сообщение помещается в очередь потока, владеющего этим окном, или передается непосредственно в оконную процедуру окна-получателя сообщения.
Иерархия окон
Для управления окнами Windows хранит информацию о них в иерархической структуре, упорядоченной по отношению принадлежности. Принадлежность бывает двух типов: родительское/дочернее окно и владелец/собственное окно.
У каждого окна есть родительское окно и могут быть окна того же уровня (сиблинги). В корне иерархии находится окно рабочего стола, которое Windows создает в процессе загрузки. Рабочий стол является родительским окном для окон верхнего уровня. У дочерних окон родительским окном может быть окно верхнего уровня или другое дочернее окно, расположенное выше по иерархии. На рис. 3.1 показана иерархия окон для типичного сеанса работы Windows.
Рис. 3.1. Иерархическое упорядочение окон в типичном сеансе работы Windows.
Окна одного уровня на экране могут перекрывать друг друга. Т.о., пользователь видит окна упорядоченными «по дальности». Обычно видимая иерархия окон соответствует их логической иерархии. Для окон-сиблингов порядок отображения называется Z-порядком.Для окон верхнего уровня этот порядок может быть изменен (например, пользователь может извлечь окно одного из приложений на передний план). Если назначить окну верхнего уровня оконный стиль WM_EX_TOPMOST, то оно всегда будет располагаться поверх своих сиблингов, не имеющих этого стиля.
Отношения родительское окно/дочернее и владелец/собственное окно отличаются тем, что дочернее окно ограничено областью своего родительского окна. Отношение владелец/собственное окно существует между окнами верхнего уровня для реализации Z-порядка. Собственное окно выводится на экран поверх окна-владельца и исчезает, когда окно-владелец сворачивается. Типичный пример отношения владелец/собственное окно наблюдается при отображении диалогового окна. Диалоговое окно не является дочерним окном (т.е. оно не ограничено клиентской областью главного окна приложения), но принадлежит главному окну приложения.
В Win32 API есть специальный набор функций для перебора окон в соответствии с их иерархией. Некоторые из этих функций перечислены ниже.
Функция GetDesktopWindow возвращает дескриптор окна рабочего стола.
Функция EnumWindows перебирает все окна верхнего уровня. При вызове приложение должно передать ей адрес функции обратного вызова. Эта функция будет вызываться изнутри EnumWindows для каждого окна верхнего уровня.
Функция EnumChildWindows перебирает все дочерние окна у заданного родительского окна. В процессе перебора вызывается пользовательская функция обратного вызова. EnumChildWindows при переборе учитывает порожденные дочерние окна, т.е. дочерние окна, которые сами принадлежат дочерним окнам заданного окна.
Функция EnumThreadWindows перебирает все окна, принадлежащие заданному потоку. При этом для каждого такого окна вызывается функция обратного вызова. В качестве параметров функции передаются адрес этой функции, а также дескриптор потока. При переборе учитываются окна верхнего уровня, дочерние окна и порожденные дочерние окна.
Функцию FindWindow можно применять для поиска окна верхнего уровня по заданному оконному классу или заголовку окна.
Функция GetParent возвращает дескриптор родительского окна для заданного дочернего окна.
Функция GetWindow предоставляет наиболее гибкий способ доступа к иерархии окон. В зависимости от второго параметра, uCmd, она может возвратить для заданного окна дескриптор родительского окна, окна-владельца, сиблинга, или дочернего окна.
Диалоговые окна
В большинстве приложений, кроме главного окна приложения со строкой меню и специфическим для приложения содержимым, применяются диалоговые окна. Они служат для обмена данными между пользователем и приложением. Обычно главное окно присутствует на экране в течение всего сеанса работы приложения, а диалоговые окна появляются на небольшое время после выбора какой-либо команды приложения. Однако длительность пребывания на экране не является отличительной особенностью главного и диалогового окна. Бывают приложения, использующие диалоговое окно в качестве своего главного окна. В других приложениях диалоговое окно может присутствовать на экране большую часть сеанса работы.
Диалоговое окно содержит набор элементов управления, которые сами являются дочерними окнами. С их помощью пользователь и приложение обмениваются данными. В Win32 API есть набор функций для создания, отображения и управления содержимым диалогового окна. Программисту обычно не приходится заботиться о перерисовке элементов управления в соответствии с сообщениями от пользователя. Программист может сосредоточиться именно на вопросах обмена данными между элементами управления диалогового окна и приложением, а не на реализации видимой части интерфейса.
Диалоговые окна Windows делятся на два типа: модальные и немодальные.
Модальные диалоговые окна
При отображении модального диалогового окна его окно-владелец запрещается, что, по сути дела, означает приостановку приложения. Пользователь сможет продолжить работу с приложением только после завершения работы с модальным окном.
Для создания и активизации модального окна предназначена функция DialogBox. Эта функция создает диалоговое окно по данным из ресурсного файла (используется ресурс специального типа – шаблон диалогового окна) и выводит это окно на экран в модальном режиме. Приложение при обращении к DialogBox передает ей адрес функции обратного вызова. Эта функция (процедура диалогового окна) является оконной процедурой. DialogBox возвратит управление только после завершения окна из этой процедуры (обычно это делается с помощью функции EndDialog при обработке какого-то сообщения от пользователя, например, по нажатию кнопки OK).
Хотя можно создать модальное окно без окна-владельца, так делать не рекомендуется. При работе подобного окна главное окно приложения не запрещается, поэтому надо обеспечить обработку сообщений, посылаемых главному окну. Кроме того, при уничтожении окон приложенияWindows автоматически не уничтожает и не убирает с экрана диалоговые окна без окон-владельцев.
Немодальные диалоговые окна
В отличие от модальных диалоговых окон, при отображении немодального окна его окно-владелец не запрещается, т.е. приложение продолжает работать в обычном режиме. Но немодальное окно выводится поверх своего владельца, даже когда окно-владелец получает фокус ввода. Немодальные окна удобны для непрерывного отображения информации, важной для пользователя.
Немодальное окно создается функцией CreateDialog. В Win32 API нет аналога функции DialogBox для немодальных окон, поэтому приложения должны самостоятельно выполнять получение и диспетчеризацию сообщений для немодальных окон. Большинство приложений делают это в своем главном цикле обработки сообщений с помощью функции IsDialogMessage. Эта функция проверяет, предназначено ли сообщение заданному диалоговому окну, и при необходимости передает его в процедуру диалогового окна.
Немодальное окно не возвращает никакого значения своему владельцу. Но при необходимости немодальное окно и его владелец могут взаимодействовать с помощью функции SendMessage.
В процедуре немодального диалогового окна не надо вызывать функцию EndDialog. Такие окна уничтожаются вызовом функции DestroyWindow, например, при обработке пользовательского сообщения в процедуре диалогового окна.
Приложения обязаны следить за тем, чтобы перед завершением приложения были уничтожены все немодальные окна.
Какие бывают окна в Windows
Данная статья про окна в Windows даст вам общее понятие о стандартных и диалоговых окнах их разновидность, предназначение и отличие при работе.
Окно это область экрана, отображающая результаты работы программы, а также информацию для пользователя.
То окно, с которым мы работаем, называется активным. Открыто может быть несколько окон, но активным будет только одно и оно размещается всегда поверх остальных!
Окна бывают обычные «Стандартные» а также «Диалоговые», которые в свою очередь делятся еще на «модальные» и «немодальные».
Стандартные окна
Вызов стандартного окна на рабочем столе осуществляем двойным кликом левой кнопки мыши по любому ярлыку, а если из «панели задач» то единичным кликом.
Абсолютно любые программы, папки документы вообще все открывается в окнах на рабочем столе.
Рассмотрим элементы окна в Windows на примере папки «Мой компьютер».
Здесь мы видим стандартное окно Windows, которое состоит из нескольких панелей и элементов.
В самом верху правого угла окна находиться область, отвечающая за свертывание, разворачивание и закрытие окна.
- Кнопка прямоугольник: сворачивает окно в панель задач.
- Кнопка квадрат в квадрате: при нажатии уменьшает размер окна до заданного по умолчанию или самим пользователем ранее.
Следом появляется одиночный квадратик дающий возможность на действия по увеличению или уменьшению окна.
Для этого наводим курсор мыши на контур любой стороны окна после чего появиться двойная стрелочка и в этот момент зажимаем левую кнопку мыши и не отпуская тянем мышь в какую либо сторону тем самым уменьшая или увеличивая окно.
Также при наведении курсора в верхнюю область окна и зажав левую кнопку мыши можно перетаскивать окно по экрану монитора (не зависимо развернуто оно или нет).
Теперь при следующем открытии этого элемента размер окна будет тот что был установлен сейчас.
- Крестик: отвечает за закрытие окна.
Панель заголовка или по-другому навигация:
определят местонахождение т.е показывает название папки или файла открытого в данный момент, плюс элементы навигации.
- Кнопки вперед назад: позволяют вернуться к предыдущему действию или наоборот. Если же подвести курсор к одной из кнопок то всплывет подсказка с названием папки, которая отобразиться при нажатии.
- Последние страницы: отвечает за историю последних страниц, по которым были перемещения в последний момент, позволяя выбрать из выпадающего списка нужную не прибегая к помощи кнопок «вперед» и «назад».
- Предыдущие расположения: служит для просмотра сохраненных адресов в адресной строке
- Строка поиск: осуществляет поиск файлов и папок в папке нахождения в данный момент или по всему компьютеру и даже в интернете.
Если перейти в папку «Библиотеки» то в строке поиска можно набрать название любого известного вам находящегося там файла из предложенных четырех категорий Видео, Изображение, Документы и Музыка.
Например: я нашел нужное мне видео, введя всего одну букву!
Если поиск не удался, то есть возможность повтора для этого предлагаются еще три варианта.
- Компьютер – нахождение нужной информации во всех существующих файлах на «ПК».
- Другое – поиск в задаваемой пользователем области т.е можно выбрать конкретный файл нажимаем на данную вкладку ставим галочку там где предполагается искомый объект и жмем «ОК».
- Интернет – розыск объектов с помощью браузера в сети Интернет.
Область меню
- Файл: в моем случае имеет две активных вкладки «добавить новый элемент в сетевое окружение» и «закрыть» что означает закрытие окна.
- Правка: здесь показано, что можно выделить элементы, копировать, вставить и отменить действия.
- Вид: здесь довольно большой список настроек не очень нужных для простых пользователей, поэтому заострять внимание не буду.
Хотя есть люди, которые любят все проверить, как будет выглядеть. Каждый может поэкспериментировать, сложного тут ничего нет.
- Сервис: три первых пункта нам не нужны, рассмотрим последний «параметры папок» далее выбираем «вид» и ставим галочку напротив «использовать флажки для выбора элементов» закрепляем «ОК».
Теперь при выделении, какого либо объекта на нем будет отображаться галочка, что создает определенные удобства особенно при непоследовательном выделении нескольких файлов и папок для дальнейшего перемещения, как в корзину, так и для копирования.
- Справка: советую прочитать для разнообразия
Панель инструментов
- Упорядочить: также имеет ряд активных вкладок, которые мы сейчас рассмотрим.
- Представление: эта вкладка содержит выпадающий список меню с четырьмя элементами.
- Строка меню: если убрать галочку панель перестанет отображаться.
- Область сведений: отображает в низу окна информацию выбранного объекта размер дата создания, дата изменения итд.
- Область предпросмотра: дает возможность просмотреть файл в правой части окна, не открывая, а просто выделив его кликом левой кнопки мыши.
- Область переходов: это левая часть окна для просмотра и быстрого перехода по папкам.
Советую во всех пунктах поставить галочки.
- Свойства: позволяет производить с диском много разных действий от перемены названия до дефрагментации и полной очистки
- Создать библиотеку: помимо четырех базовых, таких как видео, изображение музыка и документы можно придумать еще, что то, свое.
Но лучше системный диск «С» не загромождать, а создать новый образ диска, разделив «С» на еще один том, куда и устанавливать все свои файлы.
- Кнопка изменить представление: меняет при нажатии представление значков список, таблица, плитка, содержимое.
- Дополнительно: при нажатии выполняет те же функции, что и кнопка «изменить представление» но еще и меняет размеры значков.
- Кнопка показа или скрытия области предварительного просмотра.
- Полоса прокрутки: появляется автоматом при нехватке места в окне, как в нижней части, так и с правой части окна.
Диалоговое окно Windows:
это окно, выдающее какую либо информацию для пользователя и требующие от него ответных действий. Грубо говоря, между пользователем и компьютером происходит диалог отсюда и название.
Диалоговые окна применяются для настройки системы Windows, а также для всевозможных программ компьютера. Открываются они в основном автоматически поверх остальных окон и имеют не большой фиксированный размер.
В отличие от «стандартных» окон их нельзя развернуть или свернуть. Диалоговые окна в Windows распределяются еще на два вида «модальные» и «немодальные» и имеют существенные отличия друг от друга.
Модальное окно
Модальные окна используются для отображения важной информации, например: сообщение об ошибке или каком-то сбое в системе и т.п.
Пока открыто «модальное» окно пользователь не сможет иметь возможность продолжить работу с основным рабочим окном приложения так как полностью блокируется работа с корневым приложением до того времени пока оно не будет закрыто.
Немодальное окно
На примере немодальное диалоговое окно, которое в данном случае еще можно назвать сложным по причине имеющихся в нем множества настроек.
Выводимая на нем информация не влияет на работу с компьютером в отличии от модального окна, поэтому окно может быть открыто при этом не мешая работать с активным приложением.
Настоящее описание про окна в Windows не является полным по причинам ненадобности некоторых пунктов для обычных пользователей на кого вообще-то и рассчитан этот блог.
На этом данную статью я завершаю до новых встреч на страницах этого блога!