begin

ax := $3;

Intr($33,Reg);

X := ex;

Y :° dx end else begin

X := -1;

Y := -1 end end; (MouseWhereXV) ;.- —————————— ————;

Procedure MouseGotoXY(X,Y: Integer);

{Переводит указатель иыши в новое положение: X,Y - виртуальные координаты} begin

if IsMouse then with Reg do

begin

ax := $4;

ex :» X;

dx := Y;

Intr($33,Reg) end end; {MouseGotoXY} ^———————————————^

Function MouseWhereX: Byte;

{Возвращает горизонтальную текстовую координату} begin

if IsMouse then with Reg do begin

ax := $3;

Intr($33,Reg) ;

MouseWhereX := MouseTextCooX(ex) end else

MouseWhereX := 0 end; {MouseWhereX) /___—————————————_

Function MouseWhereY: Byte;

{Возвращает текстовую координату по вертикали} begin

if IsMouse then with Reg do begin

ax :- $3;

Intr($33,Reg) ;

MouseWhereY :=- MouseTextCooY(dx) end else

MouseWhereY := 0 end; {MoueseWhereY} ^———————————————;

Function MouseIn(XI,Y1,X2,Y2: Integer): Boolean;

{Возвращает TRUE, если указатель находится в заданном прямоугольнике} begin

if IsMouse then with Reg do begin

ax :- $3;

Intr($33,Reg) ;

MouseIn := (cx>=Xl) and (cx<=X2) and (dx>-Yl) and (dx<=Y2)