Windows
Окна
Окно - графическая рамка, ограничивающая область на экране при визуализации поведения объекта (схемы), область для ввода-вывода информации. Является специфическим объектом. Для появления на экране окно должно быть установлено на схеме в виде имиджа и задано параметрами.
Диалоговое окно (Dialog)
Разновидность окна, которое объединяет один или несколько органов управления. Используется для взаимодействия с пользователем
(см. ДиалогиDialogs).
Окна среды Stratum
В операционной системе Windows под окном понимают прямоугольную область на экране, отделенную логически от остального пространства. Окно может иметь размер, быть видимым, минимизированным, максимизированным и находиться в некоторой иерархии по отношению к другим окнам.
В среде Stratum под окном понимается область, ограниченная прямоугольными границами, имеющая имя (для идентификации) и заголовок. Все окна среды расположены в главном окне и обычно не имеют иерархии.
Окна в в Stratum подразделяются на два типа:
- Системные (окна редакторов, сообщений, библиотеки и так далее). Создаются в процессе редактирования проекта и не имеют прямого отношения к работающей модели. Подробно об этих окнах можно прочитать в описании среды (см. Окна средыEnviroment_window).
- Временные окна, создаваемые моделью. Это различные окна, предназначенные для взаимодействия с пользователем. Механизм работы с ними реализован с помощью набора специальных функцийWindows_function.
Создание окон
Окна, созданные моделью, можно разделить на несколько групп:
- Стандартные диалогиDialog_Functions служат для различных запросов и информирования пользователя, как правило модальны. То есть, пока они активны, другая работа в среде останавливается (например, запрос имени файла).
- Окна редактирования (например, MEditor()MEditor, DbBrowse()DbBrowse и другие) используются для просмотра и изменения данных. Модель осуществляет только инициализацию окна, после чего дальнейшее воздействие на них из модели ограничено. Схожими свойствами обладают окна приложений, которые запускаются из модели c помощью функции WinExec().
- Окна графических пространств (см. ГрафикаGraphics2d) создаются для отображения графики и могут использоваться как различные диалоги. Полностью контролируются из модели. Доступ осуществляется с помощью имен, которые по умолчанию эквивалентны заголовкам.
Системные окна
Из модели открывать, закрывать и менять некоторые харектеристики (положение и размер) системных окон. Для этого каждому из них поставлено в соответствие специальное имя:
@Watch@ Окно просмотра переменных
@Text@<класс> Окно редактирования текста (+ имя класса)
@Scheme@<класс> Окно редактирования схемы (+ имя класса)
@Image@<класс> Окно редактирования изображения (+ имя класса)
@Messages@ Окно сообщений
@Libraries@ Окно библиотек
@Hierarchy@ Окно иерархии библиотек
@StratumFrame@ Главное окно среды
Закрытие окон
Окна редактирования, однажды проинициализированные из модели, остаются открытыми, пока не будут закрыты пользователем.
Окна графических пространств могут быть уничтожены в любой момент с помощью функции CloseWindow()CloseWindow. Нажатие кнопки Стоп (панель инструментов УправлениеToolbar_Control) так же приводит к закрытию всех открытых окон.
Свойства окон
Окна, содержащие графические пространства, имеют ряд свойств, на которые можно воздействовать с помощью функций.
- Заголовок окна. При создании окна заголовок устанавливается равным названию окна. Если необходимо, с помощью функций SetWindowTitle()SetWindowTitle и GetWindowsTitle()GetWindowTitle можно установить (или получить) заголовок.
- Координаты окна. Нулевые координаты соответствуют левому верхнему углу экрана. Для получения координат используются функции GetWindowOrgX()GetWindowOrgX и GetWindowOrgY()GetWindowOrgY и SetWindowOrg()SetWindowOrg или SetWindowPos()SetWindowPos.
- Размеры окна делятся на размеры собственно окна (внешние) и размеры клиентской части (внешние за вычетом размеров заголовка, рамок и скроллеров). Для управления внешними размерами используются функции - SetWindowSize()SetWindowSize, SetWindowPos()SetWindowPos, GetWindowWidth()GetWindowWidth, GetWindowHeight()GetWindowHeight. Для управления размерами клиентской области используются функции SetClientSize()SetClientSize, GetClientWidth()GetClientWidth, GetClientHeight()GetClientHeight.
- Положение окна относительно других окон. Указанное окно можно поместить поверх остальных функцией BringWindowToTop()BringWindowToTop.
- Другие атрибуты. Функция ShowWindow()ShowWindow позволяет комплексно воздействовать на свойства окна - изменить видимость, минимизировать, максимизировать и так далее. Функция SetScrollRange()SetScrollRange изменяет диапазон прокрутки скроллеров.
Кроме этого, существуют функции, воздействующие сразу на все окна - ArrangeIcons()ArrangeIcons, CascadeWindows()CascadeWindows, Tile()Tile.
Окна и графические пространства
Для создания окон, включающих графические пространства, используются следующие функции:
LoadSpaceWindow()LoadSpaceWindow - функция позволяет загрузить из VDR файла заранее подготовленное пространство, или, если имя файла не указано, создает новое.
OpenSchemeWindow()OpenSchemeWindow - функция создает пространство как копию указанной схемы.
CreateWindowEx()CreateWindowEx - обладает свойствами двух вышеперечисленных функций, но окно, которое создает функция, располагается внутри другого окна.
Cвязь окон и графических пространств осуществляется посредством функции GetWindowName()GetWindowName и GetWindowSpace()GetWindowSpace.
Для более подробной информации см. раздел ГрафикаGraphics2d.
Окна и сообщения
Открытые окна могут получать различные сообщения от Windows, и реагировать неким образом на действия пользователя. Функция RegisterObject() позволяет зарегистрировать объект схемы на прием сообщений от указанного окна. Например, если пользователь случайно изменил размер окна, то можно его восстановить и так далее.
Для более подробной информации см. раздел СообщенияMessage_theorethic.
см. Основные термины и определенияTermins
Created with the Personal Edition of HelpNDoc: Easily create PDF Help documents