Команда @ ... SAY - рисунки и объекты OLE

Отображает рисунки и объекты OLE или поступающие в сервер OLE вызовы на выполнение глагола объекта OLE. Данная команда включена для совместимости с предыдущими версиями. Для приложений Visual FoxPro следует пользоваться Image, Связанный элемент управления OLE и Элемент управления OLE-контейнер.

Синтаксис

@ nRow1, nColumn1
SAY cPictureFile BITMAP | GeneralField
	[STYLE cFormatCode]
	[CENTER]
	[ISOMETRIC | STRETCH]
	[SIZE nRow2, nColumn2]
 - Или -
@ nRow1, nColumn1 SAY GeneralField
	VERB nOleCommand | cOleCommand
	[NOWAIT]

Параметры
@ nRow1, nColumn1
Задает позицию для рисунка или объекта OLE.
Строки нумеруются сверху вниз. Первая строка имеет номер 0 в основном окне Visual FoxPro или в окне, определенном пользователем.
В Visual FoxPro строка 0 это строка, расположенная непосредственно под системной строкой меню Visual FoxPro.
В FoxPro для Macintosh строка 0 это строка, расположенная непосредственно под строкой заголовка FoxPro. На принтерах первая строка это строка 1, а максимальный номер строки определяется физическими размерами страницы и количеством строк на странице.
Столбцы нумеруются слева направо. Столбец 0 в основном окне Visual FoxPro или в пользовательском окне это первый столбец окна. На принтерах первый столбец это столбец 1, а максимальный номер столбца определяется физическими размерами страницы.
Когда рисунок или объект OLE направляются в окно, определенное пользователем, координаты строки и столбца указываются относительно этого окна, а не основного окна Visual FoxPro. Позиция в основном окне Visual FoxPro или в окне, определенном пользователем, зависит от шрифта данного окна. Большинство шрифтов могут быть представлены в широком диапазоне размеров, а некоторые из них к тому же используют пропорциональные промежутки. Номер строки определяется высотой символов текущего шрифта, а номер столбца средней шириной буквы текущего шрифта.
Позицию рисунка или объекта OLE в окне можно задавать в виде дробных десятичных значений координат строк и столбцов.
SAY cPictureFile BITMAP
Задает имя файла для рисунка. После имени cPictureFile обязательно должно стоять ключевое слово BITMAP. Имя файла с рисунком должно быть заключено в апострофы, кавычки или скобки. Если имя файла рисунка хранится в переменной памяти или элементе массива, можно задать имя этой переменной памяти или элемента массива без разделителей (кавычек и т.д.).
Если файл рисунка находится в каталоге, отличном от текущего (используемого по умолчанию), вместе с именем файла необходимо указать и путь.
Если FoxPro для Macintosh расширение имени файла рисунка опущено, FoxPro сначала будет искать файл рисунка с заданным именем и расширением .BMP. Если такой файл не будет найден, FoxPro станет искать файл с заданным именем и расширением .PCT. Если и такого файла не найдется, FoxPro будет искать файл рисунка с заданным именем без расширения.
SAY GeneralField
Задает поле типа General, содержащее объект OLE.
STYLE cFormatCode
Задает стиль рисунка прозрачный или непрозрачный. Если в качестве cFormatCode указать Q, будет отображаться непрозрачный рисунок: все, что находится за ним (текст, другие рисунки, элементы управления), не будет видно. Если в качестве cFormatCode задано T, отображается прозрачный рисунок: находящийся за ним текст, рисунок или элемент управления можно будет видеть сквозь него.
CENTER
Центрирует рисунок или объект OLE в области, заданной предложением SIZE. Если предложение SIZE опущено, рисунок или объект OLE центрируется по прямоугольнику, определяемому координатами строки и столбца и правым нижним углом основного окна Visual FoxPro или окна, определенного пользователем.
ISOMETRIC
Увеличивает рисунок или объект OLE с сохранением пропорций. Рисунок сжимается или растягивается без искажений, чтобы вписаться в заданную область. Если ключевое слово ISOMETRIC опущено, а область, заданная предложением SIZE, слишком мала, чтобы вместить рисунок или объект OLE, он обрезается под данную область.
STRETCH
Растягивает рисунок или объект OLE по горизонтали, по вертикали или в обоих направлениях, чтобы вписать его в область, заданную предложением SIZE. Пропорции рисунка или объекта OLE не сохраняются.
SIZE nRow2, nColumn2
Задает размер рисунка или объекта OLE.
nRow2 задает высоту рисунка или объекта OLE. Выражается в единицах, равных высоте шрифта активного окна. Например, если nRow2 равно 2, высота рисунка или объекта OLE будет вдвое больше высоты шрифта активного окна.
nColumn2 задает ширину рисунка или объекта OLE. Выражается в единицах, кратных ширине шрифта активного окна. Например, если nColumn2 равно 2, ширина рисунка или объекта OLE будет вдвое больше ширины шрифта активного окна.
Если область, заданная предложением SIZE, слишком мала, чтобы вместить рисунок или объект OLE, он обрезается. Чтобы избежать этого, задайте ключевое слово ISOMETRIC или STRETCH.
Если предложение SIZE опущено, рисунок или объект OLE будет отображен в размерах, принимаемых по умолчанию.
VERB nOleCommand | cOleCommand
Выполняет командный глагол для объекта OLE.
Совет В Visual FoxPro можно запустить утилиту REGEDIT /V и посмотреть, какие командные глаголы доступны для каждого установленного сервера OLE. На экран будет выведен список командных глаголов и соответствующих им номеров.
Командный глагол может иметь вид числового выражения nOleCommand или символьного выражения cOleCommand. Номера командных глаголов начинаются с 0.
Например, если объектом OLE является документ Microsoft Word, а первым командным глаголом (nOleCommand = 0) глагол EDIT, то в результате выдачи одной из следующих команд откроется документ Word, содержащийся в поле типа General с именем WORDDOC.

@ 2, 2 SAY worddoc VERB 0
-Или-
@ 2, 2 SAY worddoc VERB 'EDIT'

Глагол EDIT поддерживается для большинства объектов OLE.
Подробнее об объектах OLE см. главу 18 "Применение OLE" Руководства разработчика и Включение объектов OLE в формы.
NOWAIT
Продолжает выполнение программы после того, как Visual FoxPro выполнит командный глагол OLE. Например, чтобы открыть электронную таблицу, может понадобиться несколько секунд. Если включить параметр NOWAIT, то выполнение программы будет продолжаться во время процесса открытия электронной таблицы.
В Visual FoxPro можно задавать параметр NOWAIT, если вы пользуетесь средством Quick Recorder для воспроизведения звука. Quick Recorder остается открытым после воспроизведения звука и должен быть закрыт вручную, чтобы возобновилось выполнение программы Visual FoxPro. Если задать ключевое слово NOWAIT, Quick Recorder закроется автоматически.

Комментарии
В Visual FoxPro для создания элемента управления Image и OLE Bound используются конструктор форм или DEFINE CLASS. Подробнее о совместимости элементов управления предыдущих версий FoxPro 2.x см. Элементы управления и объекты.
Подробнее о добавлении элементов управления к форме см. главу 9 "Создание форм" Руководства разработчика и Добавление объекта в контейнерный класс.
Поддерживается только в Visual FoxPro и FoxPro для Macintosh.
Первая синтаксическая форма позволяет отображать файлы рисунков и объекты OLE в основном окне Visual FoxPro или в окне, определенном пользователем. Файлы рисунков и объекты OLE можно также направлять на принтер с помощью команды @ ... SAY.
В Visual FoxPro с помощью данной команды можно отображать файлы .BMP (файлы растровых рисунков).
В FoxPro для Macintosh можно отображать файлы рисунков типа PICT и растровые файлы .BMP.
Если была выдана команда SET DEVICE TO SCREEN (она выдается по умолчанию при запуске), вывод будет направляться в основное окно Visual FoxPro или в активное окно, определенное пользователем. Если выдана команда SET DEVICE TO PRINTER, вывод направляется на принтер.
Вторая синтаксическая форма данной команды используется для вызова сервера OLE, когда требуется обслужить глагол для объекта OLE. Глаголы OLE представляют собой мощное орудие манипулирования объектами OLE. Для выполнения команд, связанных с объектом OLE, пользуйтесь предложением VERB. Например, можно запустить приложение, создавшее данный объект OLE, или отредактировать или напечатать объект OLE.


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