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 ...
|