Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VisualFoxPro.doc
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

Информация об объекте vFunc

Имя / Вид

Параметры

Строка помощи

cFlags

ADDOBJECT

Method

cName, cClass

Adds an object to a container object at run time

GRNI

ADDPROPERTY

Method

cPropertyName, eNewValue

Adds a new property to an object

GRNI

ARRAYSIZE

Property

GUI

BASECLASS

Property

Specifies the name of the Visual FoxPro base class on which the referenced object is based

GRNI

CLASS

Property

Returns the name of the class that an object is based on

GRNI

…

Функция

AMOUSEOBJ(ArrayName [, 1])

формирует массив ArrayName, содержащий данные о позиции мыши и объекте, на котором мышь позиционирована. Возвращает либо число 4 (число элементов в сформированном массиве), либо 0, если массив не сформирован. Последнее происходит, когда мышь позиционирована на не обрабатываемой AMOUSEOBJ( ) области.

Содержимое каждого элемента массива описано в табл. 6.15.

Таблица 6.15

Состав массива ArrayName

Номер столбца

Что содержит в момент исполнения AMOUSEOBJ( )

Тип

1

Ссылку на объект, на котором находится мышь

Object

2

Ссылку на контейнер объекта

"

3

x-координату мыши относительно контейнера объекта

Numeric

4

y-координату мыши относительно контейнера объекта

"

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

Необязательный параметр 1, если задан, обеспечивает передачу в массив информации относительно текущей формы (THISFORM). При этом второй элемент массива всегда содержит идентификатор текущей формы, третий и четвертый – координаты относительно текущей формы.

Функция AMOUSEOBJ( ) может быть также употреблена для определения положения мыши во время проектирования. Состав массива зависит от вида проектируемых объектов (табл. 6.16).

Таблица 6.16

Состав массива ArrayName для разных объектов проектирования

Проектируемые объекты

Номер элемента

Что содержит

Форма и класс

1

Ссылку на элемент управления

2

Ссылку на объект формы

3 и 4

Соответственно x- и y-координаты мыши относительно формы

Диспетчер проекта

1 и 2

Ссылку на объект проекта

3 и 4

0

Главное окно VFP

1 и 2

Ссылку на объект главного окна

3 и 4

Соответственно x- и y-координату мыши относительно главного окна

Замечание. Начало координат объекта располагается в его верхнем левом углу. Положительное направление оси x – вправо, оси y – вниз.

Пример. Создается форма с одной кнопкой, имеющей имя CommandMouse. При нажатии на кнопку первоначально функция AMOUSEOBJ( ) формирует массив arrayMouse, а затем вызываются обработчик SayXY события Click кнопки и метод SayObjects формы, выводящие соответственно координаты мыши и имена объектов – кнопки и формы. Для вызова процедур используются занесенные в массив arrayMouse идентификаторы этих объектов.

public oForm

oForm = CreateObject("OneButtonForm")

oForm.Show

&&

&& Создаем класс OneButtonForm – форму с одной кнопкой

define class OneButtonForm as Form

Width = 200

Height = 72

add object CommandMouse as CommandButton

CommandMouse.Caption = "Проба"

CommandMouse.Width = 84

CommandMouse.Height = 27

&& Помещаем кнопку в центре формы

CommandMouse.Left = (This.Width - This.CommandMouse.Width) / 2

CommandMouse.Top = (This.Height - This.CommandMouse.Height) / 2

&&

&& Обработчик события Click кнопки формы

procedure CommandMouse.Click

Amouseobj(arrayMouse)

if Amouseobj(arrayMouse) = 4 then

arrayMouse(1).SayXY(arrayMouse(3), arrayMouse(4))

arrayMouse(2).SayObjects(arrayMouse(1), arrayMouse(2))

endif

endProc

&&

&& Метод SayXY( ) кнопки формы

procedure CommandMouse.SayXY(x, y)

wait 'x = ' + Transform(x) + '; y = ' + Transform(y) window

endProc

&&

&& Метод SayObjects формы

procedure SayObjects(objButton, objForm)

wait objButton.Name + '; ' + objForm.Name window

endProc

endDefine

Результат приведен на рис. 6.3.

а

б

Рис. 6.3. Сообщения методов: а – метода SayXY; б – метода SayObjects

Функция

ANETRESOURCES(ArrayName, cNetworkName, nResourceType)

записывает имена сетевых разделяемых ресурсов или принтеров в массив ArrayName. Возвращает число ресурсов.

Параметры:

cNetworkName – имя сети или домена, информация о разделяемых ресурсах которого собирается. Формат имени сети следующий: "\\NetworkName". Подсоединение к указанной сети необязательно.

nResourceType – тип ресурса, информация о котором возвращается. Принимает следующие значения:

  • 0 – возвращаются имена всех ресурсов;

  • 1 – возвращаются имена разделяемых ресурсов;

  • 2 – возвращаются имена принтеров.

Детали см. в описании Win32 API-функций WNetOpenEnum и WNetEnumResource.

Функция

APRINTERS(ArrayName [, nValue])

помещает сведения об установленных принтерах в двумерный массив ArrayName. Возвращает число установленных принтеров.

Параметр:

nValue – принимает приведенные в табл. 6.17 значения.

Таблица 6.17

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]