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);