PA_PostMacEvent

4D - Documentation   Français   English   German   4D Plugin API, Command Theme List   4D Plugin API, Command Alphabetical List   Back   Previous   Next

version 2003


PA_PostMacEvent (pNum; theEvent)

ParameterTypeDescription
pNumlongDestination process of the event
theEventPA_EventEvent sent to ptocess number pNum

Description

The routine PA_PostMacEvent allows the 4D Plug-in to post an event to the event queue of a particular 4th Dimension process.

Before the call, the plug-in must assign the different fields of the event. A PA_Event is defined in PublicTypes.h as:

typedef struct PA_Event
{
   short   fWhat;
   long   fMessage;
   long   fWhen;
   short   fWhereV;
   short   fWhereH;
   short   fModifiers;
} PA_Event;

This works like the 4D command POST EVENT. Please, refer to the 4D Language reference for more information. The 4D constant values for what message can be used.

One difference in POST EVENT command is that if the plug-in sets pNum to -2, the event is sent to the Design Process, if it is opened.

Note for MacOS developers

A PA_Event is just like a standard EventRecord (the field when of the EventRecord has just been wrapped in two short fields), and can be use the same way.

Example

Send a mouse down event (left button under Windows) to front most process, at {0, 0} coordinates

   long      frontProcess;
   PA_Event   event = {0, 0, 0, 0, 0, 0}; // set all fields to 0
   // get the front most process number
   frontPcess = PA_GetFrontWindowProcess(0);
   //Set the appropriate fields of the event
   event.fWhat = 1; // 1 means "Mouse down event"
   event.fWhen = GetTheTickCount();// private routine returning the ticks on both Mac and Windows
   // post the event
   PA_PostEvent(frontProcess, event);
   

See Also

POST EVENT.

Error Handling

PA_GetLastError always returns eER_NoErr


4D - Documentation   Français   English   German   4D Plugin API, Command Theme List   4D Plugin API, Command Alphabetical List   Back   Previous   Next