Function KeyOrMousePressed: Boolean;

(Возвращает TRUE, если нажата клавиша или активна мышь)

Function ReadKeyOrMouse: Char;

(Возвращает символ нажатой клавиши или выбранной опции!

^+————————————————————————-.——-.——+

I Обработка событий от мыши ¦ +—————————————————————————_— —+)

Procedure SetMouseHandler(Mask: Word; Proc: MouseHandlerType);

{Устанавливает адрес и условия вызова обработчика}

Procedure ChangeMouseHandler(Mask: Word; Proc: MouseHandlerType;

var OldMask: Word; var OldProc: Pointer) (Заменяет старый обработчик новым}

Procedure ClearMouseHandler;

(Удаляет обработчик событий}

IMPLEMENTATION

^+.—.———————————————————————————+

I Инициация мыши 1

+————————————————————————————+;

Oses DOS,CRT;

type

Mouseltems - array [1..2*MaxInt dtv

SizeOf(MouseItemType)1 of MouseItemType;

PMouseIt "^Mouseltems;

const

MousePresent: Boolean » False; !Признак наличия мыши} ItemsList : PMouseIt " MXIi; {Массив элементов выбора} NMouseItem : Byte = 0; {Количество элементов выбора} MouseVisible: Boolean - Falser {Признак видимого указателя} xlm: Integer = 0; {Координаты области} ylm: Integer = 0; (перемещения указателя} x2m: Integer = 639;

y2m: Integer =• 199;

Speed2: Word - 128; {Порог удвоения скорости} VerRat: Integer » 8; {Чувствительность мыши} HorRat: Integer =8;

KButton: Byte =0; {Количество кнопок мыши}

var

Reg: registers;

Function IsMouse: Boolean;

{Возвращает TRUE, если мышь доступна} var

p : Pointer;

k,x,y: Integer;

Is : Boolean;

begin

if NButton=O then begin

GetIntVec($33,p);

Is := poiIIL;

if Is then with Reg do begin

ax := $3;

bx :» $FFFF;

Intr($33,Reg);