Чем отличается окно документа от окна приложения
Окно приложения и окно документа
⇐ ПредыдущаяСтр 2 из 4Следующая ⇒
Операционная система Windows работает с двумя основными типами файлов: с файлами приложений (или прикладных программ) и с файлами документов. Запуск приложения всегда сопровождается открытием окна. Внутри окна приложения может находиться окно документа. Документ может содержать текстовую, графическую, звуковую или видео информацию. При открытии документа автоматически запускается приложение, работающее с этим файлом.
В верхней части окна документа, так же как и в окне приложения, расположена строка заголовка, в котором указывается имя документа.
Так как окно документа всегда находится внутри окна приложения, его называют подчинённым. Подчинённое окно отличается тем, что не имеет строки меню, и его размеры ограничены размерами окна приложения.
Чтобы максимально использовать рабочую область окна приложения, окно документа можно развернуть (при помощи кнопки Развернутьили двойного щелчка мыши на его строке заголовке). В этом случае строки заголовка обоих окон объединяются в одну, и имя документа будет указано в этой строке после названия приложения.
Переключение между окнами
При одновременной работе с несколькими программами возникает необходимость переключаться между ними. Если все окна не видны на экране, переход к одной из запущенных программ можно осуществить несколькими способами:
· Щелкнуть мышью по кнопке программы на панели задач;
· Одновременно нажать клавиши Alt-Tab – в середине экрана при этом высвечивается окно с пиктограммами запущенных программ, открытых папок и документов. Одна из пиктограмм будет обведена рамкой – это активное приложение или папка. Если, не отпуская клавишу {Alt}, нажать клавишу {Tab}, рамка перемещается между значками. Дойдя до нужного окна, следует отпустить клавиши { Alt-Tab };
· Нажать комбинацию клавиш {Alt - Esc}. На экране появится другое открытое окно. Однако, при использовании этой комбинации клавиш, если окно программы свернуто, оно не будет открыто.
При работе с несколькими окнами их расположение на экране можно упорядочить с помощью контекстного меню , которое вызывается щелчком правой кнопки мыши в свободной области панели задач.
Это меню содержит следующие команды:
· Каскадом– располагает открытые окна каскадом одно над другим с перекрытием. При таком расположении видны заголовки и отдельные участки большого количества окон. Для перемещения окна на передний план следует щелкнуть мышью в любой видимой части этого окна;
· Сверху вниз– располагает открытые окна подряд, без перекрытия в один или несколько рядов;
· Слева направо– располагает окна в один горизонтальный ряд без промежутка или перекрытия;
· Свернуть все окна– сворачивает все открытые окна. Работающие приложения будут представлены в виде кнопок на Панели задач.
Следует учитывать, что командами меню можно упорядочить только открытые окна. Со свёрнутыми окнами эти команды не работают.
Окно, с которым работает пользователь в данный момент, называется активным. Такое окно располагается на переднем плане поверх остальных окон и работает в приоритетном режиме. Чтобы сделать окно активным, достаточно щелчка мыши в любом месте в пределах окна.
Служебные окна
Кроме остальных окон приложений и документов при работе часто встречаются служебные окна – диалоговые и информационные.
После активизации некоторых команд на экране появляется окно диалога, содержащее параметры, которые следует задать, или выбрать среди них альтернативный вариант для выполнения команды. Примеры диалоговых окон приведены на рисунке 7.
Рис. 7. Примеры диалоговых окон.
Информационное окно сообщает пользователю определённые сведения и имеет одну или несколько командных кнопок. В таком окне может быть нарисована большая буква I – информационное окно, крест, сообщение о невозможности выполнения операции, восклицательный или вопросительный знаки и т.д.
1.5. Справочная система Windows
Windows имеет хорошо оформленную многоуровневую справочную систему, позволяющую получить полезную информацию по интересующему пользователя приложению, команде или по системе в целом. Основное назначение справки – оказать помощь в изучении различных разделов операционной системы.
Для вызова на экран справочной системы нужно выбрать в главном меню пункт Справка.
Окно справки содержит три вкладки – Содержание, Указатель и Поиск. Основную часть окна занимает перечень разделов, упорядоченных тематически, по которым можно получить справку. Слева от названия каждого раздела изображена книга. Щелчоккнопки Показать вызывает на экран окно с требуемой информацией.
Получить справку можно и из окна приложения, нажав клавишу {F1} или выбрав пункт меню с изображением знака вопроса.
Вкладка Указательсодержит список ключевых слов, упорядоченных по алфавиту. Список можно просмотреть с помощью линейки прокрутки или ввести название темы в поле 1 - «Введите ключевое слово для поиска”. После ввода первых букв названия темы во втором поле списка появятся заголовки разделов, первые буквы которых совпадают с напечатанными символами.
Вкладка Поискпозволяет найти справочную информациюпо определённым словам или сочетанием символов.
Работа с файлами и папками
Файлы и папки
Информация, записанная на диске персонального компьютера: документы, программы, - хранится в файлах. Файл – это основная структурная единица, имеющая конкретное имя с которой работает операционная система. Группу файлов на одном магнитном носителе объединяют по какому–либо критерию, который может задать сам пользователь в папки. Папка, в отличие от файла, содержит не документ или программу, а список, входящих в неё папок и файлов. Она хранит информацию о размере файла, дате его последнего изменения, атрибуты файла и прочее.
Количество файлов и подчинённых папок, входящих в папку более высокого уровня , не ограничивается. Папки и файлы обычно группируют по тематике. Так создаётся иерархическая упорядоченная древовидная структура файловой системы. В новой операционной системе они изображаются как папки. Папка может содержать различные объекты: принтер, диск, модем. Некоторые папки, например, Панель управления, содержат набор программ для управления операционной системой. Папка, с которой могут работать другие пользователи в сети, называются общей (совместной или разделяемой).
excel - Чем немедленное окно VBA отличается от среды выполнения приложения?
Переполнение стека- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
Межоконная связь
Политика «Одинаковый источник» (один и тот же сайт) ограничивает доступ окон и фреймов друг к другу.
Идея состоит в том, что если у пользователя открыты две страницы: одна с сайта john-smith.com
, а другая - с сайта gmail.com
, то ему не нужен сценарий с сайта john-smith.com
на читайте нашу почту с gmail.com
. Итак, цель политики «Одинаковое происхождение» - защитить пользователей от кражи информации.
Считается, что два URL-адреса имеют «одно и то же происхождение», если у них одинаковый протокол, домен и порт.
Все эти URL имеют одинаковое происхождение:
-
http://site.com
-
http://site.com/
-
http://site.com/my/page.html
Таких нет:
-
http: // www. site.com
(другой домен:www.
имеет значение) -
http: // site.org
(другой домен:.org
имеет значение) -
https: // сайт.com
(другой протокол:https
) -
http://site.com: 8080
(другой порт:8080
)
Политика «одинакового происхождения» гласит:
- , если у нас есть ссылка на другое окно, например всплывающее окно, созданное
window.open
или окно внутри - в противном случае, если оно исходит из другого источника, мы не сможем получить доступ к содержимому этого окна: переменным, документу, чему угодно.Единственное исключение -
, адрес
: мы можем его изменить (перенаправив пользователя). Но мы не можем прочитать местоположение (поэтому мы не можем видеть, где сейчас находится пользователь, никакой утечки информации).
В действии: iframe
Тег
содержит отдельное встроенное окно со своим собственным отдельным документом
и объектами окна
.
Мы можем получить к ним доступ, используя свойства:
-
iframe.contentWindow
, чтобы получить окно внутри -
iframe.contentDocument
, чтобы поместить документ внутриiframe.contentWindow.document
.
Когда мы обращаемся к чему-то внутри встроенного окна, браузер проверяет, имеет ли iframe то же происхождение. Если это не так, то доступ запрещается (запись в адрес , адрес
является исключением, она все еще разрешена).
Например, давайте попробуем прочитать и записать в
из другого источника:
О многодокументном интерфейсе - приложения Win32
- На чтение 9 минут
В этой статье
Каждый документ в приложении с многодокументным интерфейсом (MDI) отображается в отдельном дочернем окне в клиентской области главного окна приложения. Типичные приложения MDI включают приложения для обработки текста, которые позволяют пользователю работать с несколькими текстовыми документами, и приложения для работы с электронными таблицами, которые позволяют пользователю работать с несколькими диаграммами и электронными таблицами.Дополнительные сведения см. В следующих разделах.
Фрейм, клиент и дочерняя Windows
Приложение MDI имеет три вида окон: окно фрейма, окно клиента MDI, а также несколько дочерних окон. Окно фрейма похоже на главное окно приложения: оно имеет рамку изменения размера, строку заголовка, меню окна, кнопку свертывания и кнопку разворачивания. Приложение должно зарегистрировать класс окна для окна фрейма и предоставить оконную процедуру для его поддержки.
Приложение MDI не отображает вывод в клиентской области окна фрейма. Вместо этого отображается клиентское окно MDI. Клиентское окно MDI является дочерним окном особого типа, принадлежащим к классу предварительно зарегистрированного окна MDICLIENT . Клиентское окно является дочерним по отношению к окну фрейма; он служит фоном для дочерних окон. Он также обеспечивает поддержку для создания дочерних окон и управления ими. Например, приложение MDI может создавать, активировать или разворачивать дочерние окна, отправляя сообщения в окно клиента MDI.
Когда пользователь открывает или создает документ, клиентское окно создает дочернее окно для документа. Клиентское окно является родительским для всех дочерних окон MDI в приложении. Каждое дочернее окно имеет рамку для изменения размера, строку заголовка, меню окна, кнопку свертывания и кнопку развертывания. Поскольку дочернее окно обрезано, оно ограничено клиентским окном и не может появляться за его пределами.
Приложение MDI может поддерживать более одного типа документов. Например, типичное приложение для работы с электронными таблицами позволяет пользователю работать как с диаграммами, так и с электронными таблицами.Для каждого типа документа, который он поддерживает, приложение MDI должно зарегистрировать дочерний класс окна и предоставить оконную процедуру для поддержки окон, принадлежащих этому классу. Для получения дополнительной информации о классах окон см. Классы окон. Для получения дополнительной информации о оконных процедурах см. Оконные процедуры.
Ниже представлено типичное приложение MDI. Он называется Multipad.
Создание дочернего окна
Чтобы создать дочернее окно, приложение MDI либо вызывает функцию CreateMDIWindow , либо отправляет сообщение WM_MDICREATE в клиентское окно MDI.Более эффективный способ создания дочернего окна MDI - вызвать функцию CreateWindowEx , указав расширенный стиль WS_EX_MDICHILD .
Чтобы уничтожить дочернее окно, приложение MDI отправляет сообщение WM_MDIDESTROY в окно клиента MDI.
Активация дочернего окна
В клиентском окне может отображаться любое количество дочерних окон одновременно, но только одно может быть активным. Активное дочернее окно располагается перед всеми другими дочерними окнами, а его граница выделяется.
Пользователь может активировать неактивное дочернее окно, щелкнув его. Приложение MDI активирует дочернее окно, отправляя сообщение WM_MDIACTIVATE клиентскому окну MDI. Когда клиентское окно обрабатывает это сообщение, оно отправляет сообщение WM_MDIACTIVATE оконной процедуре дочернего окна, которое необходимо активировать, и оконной процедуре дочернего окна, которое деактивируется.
Чтобы предотвратить активацию дочернего окна, обработайте сообщение WM_NCACTIVATE дочернему окну, вернув FALSE .
Система отслеживает положение каждого дочернего окна в стопке перекрывающихся окон. Такое наложение известно как Z-порядок. Пользователь может активировать следующее дочернее окно в Z-порядке, щелкнув Далее в меню окна в активном окне. Приложение активирует следующее (или предыдущее) дочернее окно в Z-порядке, отправив сообщение WM_MDINEXT окну клиента.
Чтобы получить дескриптор активного дочернего окна, приложение MDI отправляет сообщение WM_MDIGETACTIVE окну клиента.
Меню нескольких документов
Окно фрейма приложения MDI должно включать строку меню с меню окна. Меню окна должно включать элементы, которые размещают дочерние окна в клиентском окне или закрывают все дочерние окна. Меню окна типичного приложения MDI может включать элементы, перечисленные в следующей таблице.
Пункт меню | Назначение |
---|---|
Плитка | Располагает дочерние окна в формате плитки, чтобы каждое полностью отображалось в окне клиента. |
Каскад | Располагает дочерние окна в каскадном формате. Дочерние окна перекрывают друг друга, но заголовок каждого из них виден. |
Расположить значки | Располагает значки свернутых дочерних окон в нижней части клиентского окна. |
Закрыть все | Закрывает все дочерние окна. |
Каждый раз, когда создается дочернее окно, система автоматически добавляет новый пункт меню в меню окна.Текст пункта меню такой же, как текст в строке меню нового дочернего окна. Щелкнув пункт меню, пользователь может активировать соответствующее дочернее окно. Когда дочернее окно разрушается, система автоматически удаляет соответствующий пункт меню из меню окна.
Система может добавить до десяти пунктов меню в меню окна. Когда создается десятое дочернее окно, система добавляет в меню окна пункт More Windows . При щелчке по этому элементу отображается диалоговое окно Select Window .Диалоговое окно содержит список с заголовками всех доступных в настоящее время дочерних окон MDI. Пользователь может активировать дочернее окно, щелкнув его заголовок в списке.
Если ваше приложение MDI поддерживает несколько типов дочерних окон, настройте строку меню так, чтобы она отражала операции, связанные с активным окном. Для этого предоставьте отдельные ресурсы меню для каждого типа дочернего окна, поддерживаемого приложением. Когда активируется новый тип дочернего окна, приложение должно отправить сообщение WM_MDISETMENU клиентскому окну, передав ему дескриптор соответствующего меню.
Если дочернее окно не существует, строка меню должна содержать только элементы, используемые для создания или открытия документа.
Когда пользователь перемещается по меню MDI-приложения с помощью клавиш курсора, клавиши ведут себя иначе, чем когда пользователь перемещается по меню типичного приложения. В приложении MDI управление передается из меню окна приложения в меню окна активного дочернего окна, а затем - к первому элементу в строке меню.
Ускорители нескольких документов
Чтобы получать и обрабатывать клавиши-ускорители для своих дочерних окон, приложение MDI должно включать функцию TranslateMDISysAccel в свой цикл сообщений.Цикл должен вызвать TranslateMDISysAccel перед вызовом функции TranslateAccelerator или DispatchMessage .
Клавиши-акселераторы в меню окна для дочернего окна MDI отличаются от клавиш для дочернего окна без MDI. В дочернем окне MDI сочетание клавиш ALT + - (минус) открывает меню окна, сочетание клавиш CTRL + F4 закрывает активное дочернее окно, а сочетание клавиш CTRL + F6 активирует следующее дочернее окно.
Размер и расположение дочернего окна
Приложение MDI управляет размером и положением своих дочерних окон, отправляя сообщения в окно клиента MDI.Чтобы развернуть активное дочернее окно, приложение отправляет сообщение WM_MDIMAXIMIZE клиентскому окну. Когда дочернее окно развернуто, его клиентская область полностью заполняет клиентское окно MDI. Кроме того, система автоматически скрывает строку заголовка дочернего окна и добавляет значок меню окна дочернего окна и кнопку «Восстановить» в строку меню приложения MDI. Приложение может восстановить клиентское окно до его исходного (предварительно максимального) размера и положения, отправив клиентскому окну сообщение WM_MDIRESTORE .
Приложение MDI может упорядочивать свои дочерние окна в каскадном или мозаичном формате. Когда дочерние окна каскадированы, окна появляются в стеке. Окно в нижней части стека занимает верхний левый угол экрана, а остальные окна смещены по вертикали и горизонтали, так что левая граница и строка заголовка каждого дочернего окна видны. Чтобы расположить дочерние окна в каскадном формате, приложение MDI отправляет сообщение WM_MDICASCADE .Обычно приложение отправляет это сообщение, когда пользователь щелкает Cascade в меню окна.
Когда дочерние окна мозаичны, система отображает каждое дочернее окно целиком, не перекрывая ни одно из окон. Все окна имеют размер, необходимый для того, чтобы соответствовать клиентскому окну. Чтобы расположить дочерние окна в формате плитки, приложение MDI отправляет сообщение WM_MDITILE в окно клиента. Обычно приложение отправляет это сообщение, когда пользователь щелкает Tile в меню окна.
Приложение MDI должно предоставлять разные значки для каждого типа дочернего окна, которое оно поддерживает. Приложение указывает значок при регистрации класса дочернего окна. Система автоматически отображает значок дочернего окна в нижней части клиентского окна, когда дочернее окно свернуто. Приложение MDI предписывает системе упорядочить значки дочерних окон, посылая сообщение WM_MDIICONARRANGE окну клиента. Обычно приложение отправляет это сообщение, когда пользователь щелкает Упорядочить значки в меню окна.
Значок Название Windows
Поскольку дочерние окна MDI могут быть минимизированы, приложение MDI должно избегать манипулирования окнами заголовков значков, как если бы они были обычными дочерними окнами MDI. Окна заголовков значков появляются, когда приложение перечисляет дочерние окна окна клиента MDI. Однако окна заголовков значков отличаются от других дочерних окон тем, что они принадлежат дочернему окну MDI.
Чтобы определить, является ли дочернее окно окном заголовка значка, используйте функцию GetWindow с индексом GW_OWNER.Окна без заголовка возвращают NULL . Обратите внимание, что этого теста недостаточно для окон верхнего уровня, потому что меню и диалоговые окна являются собственными окнами.
Данные дочернего окна
Поскольку количество дочерних окон меняется в зависимости от того, сколько документов открывает пользователь, приложение MDI должно иметь возможность связывать данные (например, имя текущего файла) с каждым дочерним окном. Это можно сделать двумя способами:
- Сохранение данных дочернего окна в оконной структуре.
- Использовать свойства окна.
Оконная конструкция
Когда приложение MDI регистрирует класс окна, оно может зарезервировать дополнительное пространство в структуре окна для данных приложения, специфичных для этого конкретного класса окон. Для хранения и извлечения данных в этом дополнительном пространстве приложение использует функции GetWindowLong и SetWindowLong .
Чтобы поддерживать большой объем данных для дочернего окна, приложение может выделить память для структуры данных, а затем сохранить дескриптор памяти, содержащей структуру, в дополнительном пространстве, связанном с дочерним окном.
Свойства окна
Приложение MDI также может хранить данные для отдельных документов, используя свойства окна. Данные для каждого документа - это данные, относящиеся к типу документа, содержащемуся в конкретном дочернем окне. Свойства отличаются от дополнительного пространства в структуре окна тем, что вам не нужно выделять дополнительное пространство при регистрации класса окна. Окно может иметь любое количество свойств. Кроме того, там, где смещения используются для доступа к дополнительному пространству в оконных структурах, свойства упоминаются по именам строк.Дополнительные сведения о свойствах окна см. В разделе Свойства окна.
.
javascript - Какие преимущества дает использование (function (window, document, undefined) {...}) (window, document)?
Переполнение стека- Около
- Продукты
- Для команд
- Переполнение стека Общественные вопросы и ответы
- Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
- Вакансии Программирование и связанные с ним технические возможности карьерного роста
- Талант Нанимайте технических специалистов и создавайте свой бренд работодателя