каков состав типового окна ос windows

Окна Windows. Основные элементы окна.

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

В состав окна входят следующие элементы:

· строка заголовка – верхняя строка окна, в которой находится имя программы или имя окна;

· кнопка сворачивания окна;

· кнопка восстановления окна (ее вид зависит от состояния окна);

· кнопка закрытия окна;

· кнопка системного меню – открывает системное меню окна;

· строка меню – содержит команды для управления окном;

· панель инструментов – содержит кнопки, вызывающие наиболее часто употребляемые команды;

· полосы прокрутки – позволяют просматривать содержимое окна вертикально и горизонтально.

· рабочее поле – пространство для размещения объектов (текста, рисунков, значков и пр.) и работы с ними;

· строка состояния – полоса, на которой расположены индикаторы состояния;

Операции над окнами очень просты.

— Для того чтобы открыть окно, дважды щелкните по ее пиктограмме.

— Чтобы временно скрыть открытое окно (несколько разгрузить свой рабочий стол) щелкните по кнопке Свернуть данного окна.

— Чтобы увидеть на экране открытое окно, которое заслоняет другие окна (или если это окно свернуто), щелкните на кнопке, соответствующей этому окну на панели задач.

— Для перемещения окна перетащите его, «ухватившись» указателем мыши за строку заголовка (наведя стрелку и нажав левую кнопку мыши), на новое место на экране.

— Для изменения размера окна надо перетащить мышкой маркер изменения размеров окна или любую (левую, правую, верхнюю или нижнюю) границу, стрелка мыши при этом изменит свой вид на двойную горизонтальную, вертикальную или диагональную стрелку (12). Пользователь может задавать размеры и местоположение на экране окна (окон) только нормального размера.

— Для того чтобы развернуть окно во весь экран, дважды щелкните по строке заголовка этого окна или на его кнопке Развернуть.

— Чтобы восстановить первоначальный размер окна, щелкните дважды на строке заголовка этого окна или на его кнопке Восстановить.

— Для упорядочивания всех открытых окон в виде «стопки» так, чтобы были видны только строки заголовков этих окон, щелкните правой кнопкой мыши в любой «нейтральной» области (например, в промежутке между кнопками) на панели задач. Затем щелкните на пункте Каскадом во всплывающем меню. Окна также можно упорядочить мозаикой: Окна слева на право и Окна сверху вниз. На экране будут видны строки заголовков и какая-то часть рабочей области открытых окон.

— Чтобы закрыть окно, щелкните на кнопке Закрыть в верхнем правом углу окна.

— Чтобы повторно открыть закрытое окно, надо повторить все шаги, которые вы выполняли при первом открытии этого окна. Закрытие окна также приводит к исчезновению соответствующей ему кнопки на панели задач.

— Чтобы просмотреть все содержимое окна необходимо воспользоваться полосами прокрутки или клавишами управления курсором.

Контекстное меню содержит основные команды по управлению объектом.

Для вызова контекстного меню нужно щелкнуть на объекте правой клавишей мыши. Например, если щелкнуть правой клавишей мыши на пиктограмме Мои документы, появится контекстное меню этой папки, которое содержит определенный перечень опций. Пункты меню выбираются, как обычно, нажатием левой кнопки мыши.

Диалоговые окна (Рис. 16) появляются в случае, когда Windows необходима дополнительная информация для выполнения команды.

7. Программа MS Word. Основные функции, технология подготовки документа к печати.

Microsoft Word позволяет вводить, редактировать, форматировать и оформлять текст и грамотно размещать его на странице. С помощью этой программы можно вставлять в документ графику, таблицы и диаграммы, а также автоматически исправлять орфографические и грамматические ошибки. Текстовый редактор Word обладает и многими другими возможностями, значительно облегчающими создание и редактирование документов. Наиболее часто используемые функции:

— вырезание кусков текста, запоминание их в течении текущего сеанса работы, а также в виде отдельных файлов;

— вставка кусков в нужное место текста;

— замена слов одно на другое частично или полностью по всему тексту;

— нахождение в тексте нужных слов или предложений;

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

— автоматическая разбивка текста на страницы с заданным числом строк;

— автоматическая нумерация страниц;

— автоматический ввод подзаголовков в нижней или верхней части страницы;

— выделение части текста жирным, наклонным или подчеркнутым шрифтом;

— переключение программы для работы с другим алфавитом;

— табуляция строк, т.е. создание постоянных интервалов для представления текста в виде колонок;

— при вводе текста вы упираетесь в конец строки, Word автоматически делает переход на следующую строку;

— если при вводе текста делается опечатка, функция автокоррекции автоматически ее исправляет. А функция автоматической проверки орфографии подчеркивает неправильно написанные слова красной волнистой линией, чтобы их было легче увидеть и исправить;

— если пользоваться дефисами для выделения пунктов списка, употреблять дроби, знак торговой марки или другие специальные символы, функция автоформатирования будет сама их корректировать;

— возможность вставки в текст формул, таблиц, рисунков;

— возможность создания нескольких текстовых колонок на одной страницы;

— выбор готовых стилей и шаблонов;

— для представления текста в виде таблицы можно, конечно, пользоваться и табулятором, однако Microsoft Word предлагает гораздо более эффективные средства. А если таблица содержит цифровые данные, то их легко превратить в диаграмму;

— режим предварительного просмотра позволяет увидеть документ в том виде, в каком он выйдет из печати. Кроме того, он дает возможность отобразить сразу все страницы, что удобно для внесения изменений перед распечаткой.

Программа предлагает также ряд функций, экономящих время и усилия. Среди них:

— автотекст – для хранения и вставки часто употребляемых слов, фраз или графики;

— стили – для хранения и задания сразу целых наборов форматов;

— слияние – для создания серийных писем, распечатки конвертов и этикеток;

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

— “мастера” – для создания профессионально оформленных документов.

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

· Печать — отправляет на печать одну копию просматриваемого документа, не открывая диалоговое окно Печать.

· Увеличение — если кнопка нажата, щелчок на странице увеличивает или уменьшает область обзора, если нет — щелчок переносит курсор на страницу, позволяя ее редактировать.

· Одна страница — показывает на экране одну страницу.

· Несколько страниц — позволяет отображать на экране, систематизировать и послать на печать одновременно несколько страниц.

· Раскрывающийся список Масштаб — позволяет уменьшить или увеличить текущий размер документа на экране.

· Линейка — показывает или скрывает линейки. Линейки позволяют изменять поля и отступы абзацев и устанавливать размер табуляции, не выходя из режима предварительного просмотра.

· Подгонка страниц — если на последнюю страницу попадают всего несколько слов, эта команда уменьшает количество страниц в текущем документе на одну.

· Во весь экран — максимально увеличивает область просмотра, скрывая стандартные элементы окна Word: титульную строку, строку меню, строку состояния, панели инструментов и полосы прокрутки.

· Закрыть — закрывает режим предварительного просмотра и возвращает документ к тому же виду, в котором он находился до перехода в режим просмотра.

Выход из режима предварительного просмотра также можно осуществить несколькими способами:

· нажать клавишу Esc;

· нажать сочетание клавиш Ctrl+F2;

· щелкнуть на кнопке Закрыть панели Предварительный просмотр;

· щелкнуть на любой из кнопок режимов просмотра, расположенных слева от горизонтальной полосы прокрутки.

· После возврата в основное окно Word курсор располагается на том же месте, которое он занимал до перехода в режим предварительного просмотра.

Источник

Основные элементы окна Windows XP

каков состав типового окна ос windowsПонятие окна Windows

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

Окно — прямоугольная область экрана (встречаются и экзотические по форме окна: круглые и фигурные, в основном это генераторы серийных ключей и мультимедиа проигрыватели). В окне выводится содержимое папок, дисков, запущенные программы, создаваемые документы, а также запросы и сообщения Windows. Окно позволяет управлять открытым объектом.

Различают несколько видов окон Windows:

Окна папок и дисков показывают содержание дисков и папок.

Окна программ (приложений) отображают работу программ, внутри этих окон открываются окна документов.

Окна документов открывают документы, созданные в программах (если они позволяют одновременно работать с несколькими документами). Они открываются и располагаются только внутри окна своей программы, собственного меню не имеют. Содержание каждого такого окна может быть сохранено в отдельном файле.

Диалоговые окна встречаются во время работы с прикладными программами и самой операционной системой. Обычно они нужны для настроек, выбора способа действия или его подтверждения. К диалоговым относятся и окна сообщений операционной системы.

Структура окна Windows

Окна оформлены в одном стиле, имеют общие для всех элементы и ведут себя практически одинаково.

Основные элементы окон Windows:

· Строка заголовка. Слева на ней находится системный значок (щелчок на нем вызывает системное меню окна, двойной щелчок окно закрывает), рядом со значком, в зависимости от типа окна — имя открытой папки (или путь к этой папке, зависит от настроек); имя документа и название программы, в которой он открыт; название диалогового окна, справа расположены:

· Кнопки управления окном: свернуть на панель задач, развернуть во весь экран (свернуть в окно), закрыть.

· Строка меню. У каждого окна диска, папки, программы есть собственная строка меню, зачастую не похожая на другие, а некоторые программы вообще этой строки не имеют. В строке меню расположены названия команд, такие как Файл, Правка, Вид, Справка и другие, при щелчке на которых открывается меню, позволяющее выбрать различные команды.

каков состав типового окна ос windows

Таковы основные элементы практически любого окна Windows.

Источник

Характеристики окон

В этом обзоре обсуждаются функции Windows, такие как типы окон, состояния, размер и расположение.

Типы окон

Этот раздел содержит следующие разделы, описывающие типы окон.

Перекрывающиеся Windows

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

Windows всплывающих окон

Дочерние Windows

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

В этом разделе обсуждаются следующие аспекты дочерних окон:

Направляющ

Система всегда позиционирует дочернее окно относительно левого верхнего угла клиентской области родительского окна. Ни одна часть дочернего окна не отображается вне границ родительского окна. Если приложение создает дочернее окно, размер которого больше родительского окна или размещает дочернее окно, чтобы часть или все дочернее окно выходили за границы родительского элемента, система обрезает дочернее окно. Это значит, что часть за пределами клиентской области родительского окна не отображается. Действия, влияющие на родительское окно, также могут повлиять на дочернее окно, как показано ниже.

Родительское окноДочернее окно
УничтожаютсяУничтожено до уничтожения родительского окна.
СкрытыйСкрывается перед тем, как родительское окно скрыто. Дочернее окно отображается только в том случае, если родительское окно является видимым.
ПеренестиПеремещено с клиентской областью родительского окна. Дочернее окно отвечает за рисование области клиента после перемещения.
УказанногоОтображается после отображения родительского окна.

Усечение

Связь с родительским окном

Родительское окно освобождает часть своей клиентской области дочернему окну, а дочернее окно получает все входные данные из этой области. Класс Window не обязательно должен быть одинаковым для всех дочерних окон родительского окна. Это означает, что приложение может заполнить родительское окно дочерними окнами, которые выглядят иначе и выполнять различные задачи. Например, диалоговое окно может содержать несколько типов элементов управления, каждое из которых дочернее окно принимает различные типы данных от пользователя.

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

Функция енумчилдвиндовс перечисляет дочерние окна родительского окна. Затем енумчилдвиндовс передает этот обработчик в каждое дочернее окно в функцию обратного вызова, определенную приложением. Также перечисляются дочерние окна данного родительского окна.

Сообщения

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

Многоуровневый Windows

Использование многоуровневого окна может значительно повысить производительность и визуальные эффекты для окна с сложной фигурой, анимировать ее фигуру или использовать альфа-эффекты смешения. Система автоматически создает и перерисовывает многослойные окна и окна базовых приложений. В результате этого многослойные окна отображаются плавно, без мерцания типов сложных окон. Кроме того, многоуровневые окна могут быть частично прозрачными, то есть с альфа-смешением.

начиная с Windows 8, WS _ EX _ можно использовать с дочерними окнами и окнами верхнего уровня. предыдущие версии Windows поддерживают WS _ EX _ только для окон верхнего уровня.

Message-Only Windows

Связи окон

Существует множество способов связи окна с пользователем или с другим окном. Окно может быть владельцем окна, передним окном или фоновым окном. Окно также имеет z-порядок относительно других окон. Дополнительные сведения см. в следующих разделах:

Передний и фоновый Windows

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

Каждый поток имеет уровень приоритета, определяющий количество времени ЦП, получаемого потоком. Хотя приложение может устанавливать уровень приоритета своих потоков, обычно поток переднего плана имеет немного более высокий уровень приоритета, чем фоновые потоки. Так как он имеет более высокий приоритет, поток переднего плана получает больше времени ЦП, чем в фоновых потоках. Поток переднего плана имеет нормальный базовый приоритет 9; фоновый поток имеет нормальный базовый приоритет 7.

Система позволяет определить, какие процессы могут устанавливать окно переднего плана. Процесс может задать окно переднего плана только в том случае, если:

Процессу может быть запрещено устанавливать окно переднего плана, даже если оно соответствует этим условиям.

Принадлежащие Windows

Перекрытие или всплывающее окно может принадлежать другому перекрытому или всплывающему окну. В качестве владельца накладывается несколько ограничений на окно.

Только перекрывающиеся или всплывающие окна могут быть окном-владельцем; дочернее окно не может быть окном-владельцем. Приложение создает собственное окно, указывая маркер окна владельца в качестве параметра хвндпарент объекта CreateWindowEx при создании окна с стилем _ меню WS _ OVERLAPPED или WS. Параметр хвндпарент должен обозначать перекрывающиеся или всплывающие окна. Если хвндпарент определяет дочернее окно, система назначает владение родительским окном верхнего уровня дочернего окна. После создания собственного окна приложение не может передать владение окном другому окну.

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

Приложение может использовать функцию getHandler с флагом _ владельца GW для получения маркера для владельца окна.

Z-порядок

Z-порядок окна указывает на расположение окна в стеке перекрывающихся окон. Этот стек окна ориентирован на мнимую ось, ось z и расширяет наружу с экрана. Окно, расположенное в верхней части z-порядка, перекрывает все остальные окна. Окно в нижней части z-порядка перекрывается всеми остальными окнами.

Пользователь изменяет z-порядок, активируя другое окно. Система позиционирует активное окно в верхней части z-порядка для Windows того же типа. Когда окно поступает в начало z-порядка, дочерние окна должны быть. Функцию жеттопвиндов можно использовать для поиска всех дочерних окон родительского окна и возврата маркера в дочернее окно, которое имеет наибольшее значение в z-порядке. Функция жетнекствиндов Извлекает маркер в следующее или предыдущее окно в z-порядке.

Отображение состояния окна

В любой момент времени окно может быть активным или неактивным; скрытый или видимый; и сведены, развернутые или восстановленные. Эти качества называются совместно по мере отображения состояния окна. В следующих разделах описывается отображение состояния окна.

Активное окно

Активное окно — это окно верхнего уровня приложения, с которым пользователь работает в данный момент. Чтобы позволить пользователю легко определить активное окно, система размещает его в верхней части z-порядка и изменяет цвет заголовка и границы окна на определенные системой цвета в активном окне. Только окно верхнего уровня может быть активным окном. Когда пользователь работает с дочерним окном, система активирует родительское окно верхнего уровня, связанное с дочерним окном.

Отключенные Windows

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

Если дочернее окно отключено, система передает входные сообщения дочернего элемента мыши родительскому окну. Для определения того, следует ли включить дочернее окно, в родительском окне используются сообщения. Дополнительные сведения см. в разделе Ввод с помощью мыши.

Только одно окно может принимать ввод с клавиатуры; говорят, что это окно имеет фокус клавиатуры. Если приложение использует функцию енаблевиндов для отключения окна фокуса клавиатуры, окно теряет фокус клавиатуры, а также отключает его. Затем енаблевиндов устанавливает фокус клавиатуры на значение NULL, означающее, что окно не имеет фокуса. Если в дочернем окне или другом подчиненном окне есть фокус клавиатуры, то при отключении родительского окна фокус теряется. Дополнительные сведения см. в разделе Ввод с клавиатуры.

Видимость окна

Сведенные, развернутые и восстановленные Windows

Если приложение задает в функции CreateWindowEx стиль _ сворачивания WS или WS, то окно изначально разворачивается или уменьшается. _ После создания окна приложение может использовать функцию клосевиндов для сворачивания окна. Функция арранжеикониквиндовс упорядочивает значки на рабочем столе или упорядочивает в родительском окне окна с минимальными дочерними окнами родительского окна. Функция опеникон восстанавливает окно до предыдущего размера и расположения.

Функция ShowWindow позволяет максимально увеличить, развернуть или восстановить окно. Он также может задавать состояние видимости и активации окна. Функция сетвиндовплацемент включает те же функции, что и ShowWindow, но может переопределять положение окна по умолчанию: сведенные, развернутые и восстановленные позиции.

Функции Zoom и Icon определяют, является ли данное окно развернутым или минимальным соответственно. Функция жетвиндовплацемент извлекает уменьшенные, развернутые и восстановленные позиции для окна, а также определяет состояние отображения окна.

Размер и расположение окна

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

В этом разделе рассматриваются следующие вопросы.

Размер и расположение по умолчанию

Размер отслеживания

Система поддерживает минимальный и максимальный размер отслеживания для окна стиля WS _ сиккфраме ; окно с этим стилем имеет границу изменения размера. Минимальный размер для отслеживания — минимальный размер окна, который можно создать путем перетаскивания границы размера окна. Точно так же максимальный размер отслеживания — это самый крупный размер окна, который можно создать, перетащив границу изменения размера.

Системные команды

Приложение с меню окна может изменить размер и расположение этого окна, отправив системные команды. Системные команды создаются, когда пользователь выбирает команды в меню окно. Приложение может эмулировать действие пользователя, отправляя сообщение WM _ сискомманд в окно. Следующие системные команды влияют на размер и расположение окна.

КомандаОписание
SC _ CloseЗакрывает окно. Эта команда отправляет сообщение о _ закрытии WM в окно. Окно выполняет все действия, необходимые для очистки и уничтожения.
_развернуть SCРазворачивает окно.
SC — _ MinimizeСворачивает окно.
SC _ MoveПеремещает окно.
SC _ RESTOREВосстанавливает уменьшенное или развернутое окно до его предыдущего размера и расположения.
_Размер SCЗапускает команду размера. Чтобы изменить размер окна, используйте мышь или клавиатуру.

Функции размера и позиционирования

После создания окна приложение может задать размер или расположение окна, вызвав одну из нескольких различных функций, включая сетвиндовплацемент, мовевиндов, SetWindowPosи дефервиндовпос. Сетвиндовплацемент задает режим сворачивания окна, его развернутую точку, размер и расположение, а затем показывает состояние. Функции мовевиндов и SetWindowPos похожи; Установите размер или расположение одного окна приложения. Функция SetWindowPos включает набор флагов, влияющих на состояние отображения окна. Мовевиндов не включает эти флаги. Используйте функции бегиндефервиндовпос, дефервиндовпос и енддефервиндовпос для одновременного задания расположения ряда окон, включая размер, расположение, расположение в z-порядке и отображение состояния.

Функция жетклиентрект извлекает координаты клиентской области окна. Жетклиентрект заполняет структуру Rect координатами верхнего левого и нижнего правого угла клиентской области, но координаты отсчитываются от самой клиентской области. Это означает, что координаты верхнего левого угла клиентской области всегда равны (0, 0), а координаты нижнего правого угла имеют ширину и высоту клиентской области.

Функция каскадевиндовс размещает окна на рабочем столе или раскрывают дочерние окна указанного родительского окна. Функция тилевиндовс накладывает окна на Рабочий стол или плитки дочерних окон указанного родительского окна.

Размер и расположение сообщений

Система отправляет сообщение WM _ нккалксизе в окно при создании или изменении размера окна. Система использует сообщение для вычисления размера клиентской области окна и положения клиентской области относительно левого верхнего угла окна. Окно обычно передает это сообщение в процедуру окна по умолчанию; Однако это сообщение может быть полезно в приложениях, которые настраивают неклиентскую область окна или сохраняют части клиентской области при изменении размера окна. Дополнительные сведения см. в разделе Рисование и рисование.

Анимация окна

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

При указании флага AW _ Blend система использует Выцветание с альфа-смешением.

Макет окна и зеркальное отображение

макет окна определяет, как объекты text и Windows интерфейс графических устройств (GDI) размещаются в окне или в контексте устройства (DC). Для некоторых языков, таких как английский, французский и немецкий, требуется макет слева направо (LTR). Для других языков, таких как арабский и иврит, требуется макет с направлением письма справа налево. Макет окна применяется к тексту, но также влияет на другие элементы GDI окна, включая растровые изображения, значки, расположение источника, кнопки, каскадные элементы управления «дерево» и способ увеличения горизонтальной координаты при переходе влево или вправо. Например, после того, как приложение настроило макет RTL, начало координат располагается на правой границе окна или устройства, а число, представляющее горизонтальную координату, увеличивается по мере перемещения влево. Однако макет окна влияет не на все объекты. Например, макет для диалоговых окон, окон сообщений и контекстов устройств, которые не связаны с окном, например метафайлы и контроллеры домена печати, необходимо обрабатывать отдельно. Конкретные особенности для них приведены далее в этом разделе.

Оконные функции позволяют указать или изменить макет окна в арабском и иврите версии Windows. Обратите внимание, что переход на макет с письмом справа налево (также называемый зеркальным отображением) не поддерживается для Windows, имеющих стиль CS _ овндк или для контроллера домена с _ расширенным графическим режимом GM.

Можно задать макет по умолчанию RTL, вызвав сетпроцессдефаултлайаут(макет _ RTL). Все окна, созданные после вызова, будут отражены, но существующие окна не затрагиваются. Чтобы отключить зеркальное отображение по умолчанию, вызовите сетпроцессдефаултлайаут(0).

Обратите внимание, что сетпроцессдефаултлайаут отражает только контроллеры домена с зеркальными окнами. Для зеркального отображения любого контроллера домена вызовите сетлайаут(HDC, Layout _ RTL). Дополнительные сведения см. в разделе обсуждение контекстов устройств зеркального отображения, не связанных с Windows, которые описаны далее в этой статье.

Растровые изображения и значки в зеркальном окне также отражаются по умолчанию. Однако не все из них должны быть отражены. Например, не следует создавать зеркальное отображение текста, эмблемы компании или аналоговых часов. Чтобы отключить зеркальное отображение точечных рисунков, вызовите сетлайаут с разметкой _ битмапориентатионпресервед bit, установленным в двлайаут. Чтобы отключить зеркальное отображение в контроллере домена, вызовите сетлайаут(HDC, 0).

При зеркальном отображении следует придуматься к терминам «NEAR» и «Far» вместо «Left» и «right». В противном случае могут возникнуть проблемы. Одна из распространенных методик создания кода, вызывающая проблемы в зеркальном окне, возникает при сопоставлении координат экрана и клиентских координат. Например, приложения часто используют код, аналогичный приведенному ниже, для размещения элемента управления в окне:

Это вызывает проблемы при зеркальном отображении, поскольку левый конец прямоугольника станет правым ребром в зеркальном окне и наоборот. Чтобы избежать этой проблемы, замените вызовы скринтоклиент вызовом мапвиндовпоинтс следующим образом:

Этот код работает потому, что на платформах, поддерживающих зеркальное отображение, мапвиндовпоинтс изменяется для переключения левой и правой точек при зеркальном отображении окна клиента. Дополнительные сведения см. в подразделе «Примечания» раздела мапвиндовпоинтс.

Другой распространенный подход, который может вызвать проблемы в зеркальных окнах, — размещение объектов в клиентском окне с использованием смещений в экранных координатах вместо клиентских координат. Например, в следующем коде используется разница в координатах экрана в качестве положения x в координатах клиента для размещения элемента управления в диалоговом окне.

Этот код подходит, когда окно диалогового окна имеет макет слева направо (LTR), а режим сопоставления клиента — это _ текст в формате mm, так как Новая координата x в клиентской части соответствует разнице в левых границах элемента управления и диалоговом окне в координатах экрана. Однако в зеркальном диалоговом окне левый и правый Обратны, поэтому следует использовать мапвиндовпоинтс следующим образом:

Диалоговое окно зеркального отображения и окна сообщений

Контексты устройств зеркального отображения, не связанные с окном

Если макет имеет вид RTL, жетмапмоде будет возвращать мм _ анизотропную длину вместо mm _ Text. Вызов сетмапмоде с _ текстом mm будет работать правильно, только возвращаемое значение из жетмапмоде затронуто. Аналогично, вызов сетлайаут(HDC, Layout _ RTL), если режим СОПОСТАВЛЕНИЯ — текст mm, приводит к _ изменению режима сопоставления на « _ анизотропная».

Уничтожение окна

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

Перед уничтожением окна приложение должно сохранить или удалить все данные, связанные с окном, и освободить все системные ресурсы, выделенные для окна. Если приложение не освобождает ресурсы, система освобождает все ресурсы, не освобожденные приложением.

Уничтожение окна не влияет на класс окна, из которого создается окно. Новые окна можно по-прежнему создавать с помощью этого класса, а все существующие окна этого класса продолжают работать. При уничтожении окна также уничтожаются его дочерние окна. Функция дестройвиндов отправляет сообщение WM _ destroy сначала в окно, а затем в его дочерние окна и подчиненные окна. Таким образом все дочерние окна, которые уничтожаются, также уничтожаются.

Если окно, которое уничтожается, является активным окном, состояния активного и фокуса передаются в другое окно. Окно, которое становится активным окном, является следующим окном, как определено сочетанием клавиш ALT + ESC. Новое активное окно определяет, какое окно получает фокус клавиатуры.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *