Синтаксис

RegisterObject(HANDLE HSpace, HANDLE obj2d, STRING path, FLOAT message, FLOAT flags)

RegisterObject(STRING WindowName, HANDLE obj2d, STRING path, FLOAT message, FLOAT flags)


Описание

Функция позволяет зарегистрировать объект на приемку заданного WINDOWS сообщения.

Функция ничего не возвращает.

Повторная регистрация для одного и того же сообщения для одного объекта не происходит.

Если в окно, обозначенное параметром HSpace, пришло заданное сообщение выполняется математическая модель объекта, даже если у него установлена переменная _enableDefault_Vars со значением 0 (_disableDefault_Vars c 1).

В объекте обязательно должна быть определена переменная msgDefault_Vars c типом FLOAT. В эту переменную копируется код обрабатываемого сообщенияWM_XXX. Если такой переменной не будет, то сообщение не придет.

Кроме этого, в объекте могут находиться специальные переменныеDefault_Vars, обновляемые в момент прихода сообщения.

Если окно закрывается, то все объекты зарегистрированные на прием сообщений от него, автоматически разрегистрируются.


Параметры

hSpace

Задает дескриптор двухмерного пространства. Данный параметр обязателен.

Obj2d

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

path

Путь на объект или “” для данного объекта.

message

Код WINDOWS сообщения. Может быть равным одному из WM_XXXWM_XXX кодов WINDOWS сообщений.

Flags

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


Флаги, влияющие на посылку сообщений. 

Значение

Описание

1

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

2

Для сообщений мыши. Означает, что сообщения будут поступать к объекту только, если было установлено SetCapture.

(В данной версии не реализовано)

4

Для сообщений от мышки координаты будут поступать относительно верхней левой точки объекта

8

При перегрузке пространства в окне сообщение не будет удалено.

16

Сообщения об отсутствии переменных не будут выводится

256

Для всех сообщений. Если установлен этот флаг, то сообщения к объекту будут приходить даже тогда, когда схема остановлена.


Пример

// определение текущих координат мышки и состояния кнопок

STRING WindowName

HANDLE HSpace

FLOAT fwKeys,xPos,yPos

FLOAT local msg,init


if (init == 0)

 if (WindowName != "");  HSpace := GetWindowSpaceGetWindowSpace (WindowName); endif


 if (~HSpace)

  RegisterObject(~HSpace,~HObject,"",WM_ALLMOUSEMESSAGE,0)

  _enable := 0

  init:=1

 endif

endif


см. Механизм сообщенийMessage_theorethic

см. Путь в имени объектаpath

Created with the Personal Edition of HelpNDoc: Protect Your Confidential PDFs with These Simple Security Measures