{Сначала проверяем нажатие клавиши} loop:
if not IsMouse or KeyPressed then
ReadKeyOrMouse :=• ReadKey
{Теперь проверим эмуляцию служебной клавиши} else if DoubleChars then begin
DoubleChars •." False;
ReadKeyOrMouse := SecChar end
{Проверяем необходимость контроля элементов экрана для эмуляции клавиатуры! else if NMouseItemoO then with Reg do begin {Да, нужна проверка} MouseActive := False;
lКонтролируем выбор мышью одного из элементов} ах := $3;
Intr($33,Reg); {Получаем статус кнопок} bb := Ьх; {Запоминаем его в ЪЪ}
if bboO then {Если нажата любая кнопка, то организуем проверку всех элементов до нужного (ActiveMouse станет True)} for k := 1 to NMouseItem do if not MouseActive then
with ItemsList^Ik] do begin case Butt of
LeftButton : b :=№ and LeftButton;
RightButton : b :"bb and RightButton;
CenterButton: b :=bb and CenterButton;
AnyButton : b := bb;
else
b := 0;
end;
if (b<>0) and Mouseinf
MouseGraphCooX(Xl),MouseGraphCooY(Yl) , MouseGraphCooX(X2),MouseGraphCooY(Y2)) then begin {Найден отмеченный элемент} MouseActive := True;
ReadKeyOrMouse := Char(Lo(Key)) ;
if Lo(Key)=0 then
begin (Эмуляция служебной клавиши} DoubleChars :=• True;
SecChar :•» chr(HitKey)) end end
end; {for ... if not MouseActive}
{Если мышь не отметила элемент, повторяем с начала} if not MouseActive then
goto loop end {if NMouseItemoO}
{Если не установлен ни один элемент для мыши, ждем нажатия любой клавг1ши} else
ReadKeyOrMouse :•' ReadKey end; {ReadKeyOrMouse) _•+—————————————————————————————+
I Обработка событий от мыши I +—_——————————————————————————— +{
coast
OldUserProc: Pointer = MIIi;
vac