home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* CURSAMPL.PAS *)
- (* Beipielprogramm zur Unit CurMouse. *)
- (* Stellt einen durch die Maus gesteuerten Graphikcursor *)
- (* zur Verfügung. Mit dem linken Mousebutton Programm- *)
- (* ende, beim Drücken des rechten Mousebutton wird ein *)
- (* Punkt gezeichnet. *)
- (* ------------------------------------------------------ *)
- PROGRAM Cursor_Example;
-
- USES Graph, CurMouse, Crt;
-
- VAR
- x, y, xbak, ybak : INTEGER;
- button, ButtonAnzahl : INTEGER;
- driver, mode : INTEGER;
- ende : BOOLEAN;
-
- BEGIN
- ende := FALSE;
- driver := Detect;
- InitGraph(driver, mode, '');
- IF GraphResult < 0 THEN BEGIN
- WriteLn('Grafikfehler');
- Halt(1);
- END;
- ButtonAnzahl := MouseInit;
- IF ButtonAnzahl = 0 THEN BEGIN
- CloseGraph;
- WriteLn('kein Maustreiber geladen');
- Halt(2);
- END ELSE BEGIN
- OutTextXY(50, 5, 'Mousetreiber OK');
- CASE ButtonAnzahl OF
- 1 : OuttextXY(50, 20,'Anzahl der Buttons: 1');
- 2 : OuttextXY(50, 20,'Anzahl der Buttons: 2');
- 3 : OuttextXY(50, 20,'Anzahl der Buttons: 3');
- END;
- END;
- OuttextXY(50, 30, 'using driver ' + GetDriverName);
- CreateCursor(1);
- MousePos(button, x, y);
- CursorOn(x, y);
- xbak := x; ybak := y;
- REPEAT
- MousePos(button, x, y);
- IF button = 1 THEN ende := TRUE;
- IF (x <> xbak) OR (y <> ybak) THEN
- PutCursor(xbak, ybak, x, y);
- IF button = 2 THEN BEGIN
- CursorOff(xbak, ybak);
- PutPixel(x+10, y, GetMaxColor);
- CursorOn(xbak, ybak);
- END;
- UNTIL ende;
- CursorOff(xbak, ybak);
- CloseGraph;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von CURSAMPL.PAS *)