Beispiel für einen Mausevent

Top  Previous  Next

Ziel ist es, bis zum nächsten Mausklick eine Box um den Mauscursor darzustellen, z.B. als Fangbereich. Dazu wird als erstes eine Eventroutine registriert. Die ActionProzedur zeichnet einen Rahmen mit n=3 Meter Radius, wobei n einstellbar ist. Die Hauptroutine wartet auf den Klick und entfernt dann die Routine wieder.

Eventroutine

void DLLENTRY moveProc(int art,

     PZEICHENDATEN data,

     short int x, short int y,

     void *_userdata){

   int rad=_userdata;

   FarbDefinition fd;

   data->addLine(data,fd,-rad,-rad,rad,-rad);

   data->addLine(data,fd,-rad,-rad,-rad,rad);

   data->addLine(data,fd,rad,rad,rad,-rad);

   data->addLine(data,fd,rad,rad,-rad,rad);

}

Aufruf

 

...

char text[100];

 

IOregisterEvent(EVENT_ART_MOUSEMOVE,moveProc,3,TRUE); // Registrieren

 

IOgetText(text,100); // Auf Eingabe werten

 

IOregisterEvent(EVENT_ART_MOUSEMOVE,moveProc,3,FALSE); // Entfernen

...