RegisterObject
Синтаксис
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