Команда ACTIVATE WINDOW

Отображает и активизирует одно или несколько окон, определенных пользователем, или системных окон Visual FoxPro.

Синтаксис

ACTIVATE WINDOW WindowName1 [, WindowName2 ...] 
	| ALL | SCREEN
	[IN [WINDOW] WindowName3 | IN SCREEN | IN MACDESKTOP]
	[BOTTOM | TOP | SAME] 
	[NOSHOW]

Параметры
WindowName1 [, WindowName2 ...]

Задает имя каждого из активизируемых окон. Имена следует разделять запятыми. В Visual FoxPro можно указать имя панели инструментов, которую нужно активизировать. См. SHOW WINDOW, чтобы просмотреть список имен панелей инструментов Visual FoxPro.
ALL
Указывает, что будут активизироваться все окна. Последним активизируется активное окно вывода.
SCREEN
Допустимо только в FoxPro для Macintosh.
Делает видимым основное окно FoxPro.
Чтобы скрыть основное окно FoxPro, достаточно нажать его кнопку закрытия или выдать команду DEACTIVATE WINDOW SCREEN, HIDE WINDOW SCREEN или RELEASE WINDOW SCREEN.
IN [WINDOW] WindowName3
Задает имя родительского окна, внутри которого размещается и активизируется данное окно. Активизированное окно становится дочерним окном. У родительского окна может быть несколько дочерних окон. Дочернее окно, активизируемое внутри родительского окна, не может быть перемещено за пределы последнего. При перемещении родительского окна вместе с ним перемещается и дочернее окно.
Замечание Чтобы дочернее окно было видимым, необходимо, чтобы было видимым его родительское окно.
IN SCREEN
Размещает и активизирует окно в основном окне Visual FoxPro. Чтобы поместить какое-либо окно в родительское окно, нужно при создании этого окна задать предложение IN WINDOW в команде DEFINE WINDOW. Предложение IN SCREEN в команде ACTIVATE WINDOW имеет более высокий приоритет, чем предложение IN WINDOW в команде DEFINE WINDOW.
IN MACDESKTOP
Допустимо только в FoxPro для Macintosh.
Размещает и активизирует окно в основном окне Macintosh. Это окно располагается на том же уровне, что и основное окно FoxPro. Окно можно переместить за пределы основного окна FoxPro, и основное окно FoxPro можно перевести на передний план поверх активизированного окна. Если задано предложение MACDESKTOP, активизированное окно ведет себя точно так же, как окно в FoxBASE+ для Macintosh.
Включение параметра MACDESKTOP отменяет текущую установку SET MACDESKTOP. Подробнее об активизации окон в основном окне FoxPro или в основном окне Macintosh см. описание команды SET MACDESKTOP.
BOTTOM | TOP | SAME
Указывает, где активизируются окна относительно ранее активизированных окон. По умолчанию вновь активизируемое окно помещается впереди всех остальных. Если задано BOTTOM, окно размещается позади всех остальных окон. Если задано TOP, окно размещается впереди всех остальных окон. Если задано SAME, при активизации окна его положение относительно остальных окон не изменяется.
NOSHOW
Активизирует окно и направляет в него вывод, не отображая само окно на экране.

Комментарии
Пользовательские окна создаются с помощью команды DEFINE WINDOW.
При активизации окна оно появляется на переднем плане и в него направляется весь вывод. В каждый момент времени вывод можно вести только в одно окно. Окно останется активным окном вывода до тех пор, пока оно не будет деактивизировано или освобождено или не будет активизировано другое окно или основное окно Visual FoxPro.
Имена окон, определенных пользователем, приводятся в нижней части меню Window. Имя активного пользовательского окна помечается в FoxPro для MS-DOS ромбиком, а в Visual FoxPro, FoxPro для Windows и FoxPro для Macintosh галочкой.
В каждый момент времени в основном окне Visual FoxPro можно разместить более одного окна, но вывод будет направляться только в последнее активизированное окно. Если открыто несколько окон, то при деактивизации активного окна вывода оно исчезнет из основного окна Visual FoxPro, а последующий вывод пойдет в другое окно. Если активного окна вывода нет, вывод направляется в основное окно Visual FoxPro.
Замечание Чтобы при деактивизации активного окна вывода обеспечить вывод в другое конкретное окно, необходимо явным образом активизировать последнее с помощью команды ACTIVATE WINDOW.
Все активизированные окна будут оставаться на экране до тех пор, пока не будет выдана команда DEACTIVATE WINDOW или HIDE WINDOW. При выдаче любой из этих команд окна исчезают из вида, но не из памяти. Их можно вновь вывести на экран с помощью команды ACTIVATE WINDOW или SHOW WINDOW.
Чтобы удалить окна с экрана и из памяти, используйте команды CLEAR WINDOWS, RELEASE WINDOWS или CLEAR ALL. Чтобы вернуть в основное окно Visual FoxPro окна, удаленные из памяти, их понадобится переопределить.
С помощью команды ACTIVATE WINDOW можно размещать в основном окне Visual FoxPro или в родительском окне системные окна Visual FoxPro.
С помощью команды ACTIVATE WINDOW. можно открыть следующие системные окна.

Command
Debug
Trace
View

Чтобы активизировать системное окно и/или панель инструментов (в Visual FoxPro), заключите все имя системного окна или панели инструментов в кавычки. Например, чтобы активизировать панель инструментов Report Controls в Visual FoxPro, выполните следующую команду:

ACTIVATE WINDOW "Report Controls"

Команды HIDE WINDOW или RELEASE WINDOW позволяют удалить системное окно из основного окна Visual FoxPro или родительского окна.

Пример

* В следующем примере определяется окно output, затем оно
* активизируется и размещается в главном окне Visual FoxPro. Команда
* WAIT приостанавливает выполнение, окно скрывается и затем выводится
* вновь.
CLEAR
DEFINE WINDOW output FROM 2,1 TO 13,75 TITLE 'Output' ;
	CLOSE FLOAT GROW SHADOW ZOOM
ACTIVATE WINDOW output
WAIT WINDOW 'Press any key to hide window output'
HIDE WINDOW output
WAIT WINDOW 'Press any key to show window output'
SHOW WINDOW output
WAIT WINDOW 'Press any key to release window output'
RELEASE WINDOW output

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.