ax = $17;
es = seg(Buff) ;
dx •= ofs(Buff) ;
Intr($33,Reg) end
end; {RestoreMouse} _•+—————————————————————————————+
I Эмуляция клавиатуры I +————————_——.——————.——-_—.————_+; _
const
DoubleChars: Boolean = False;
var
SecChar: Char;
Procedure SetMouseItem(NItem: Byte; var Items);
{Устанавливает элементы для выбора мышью:
NItetti - количество элементов;
Items - array [I..NItem] of MouseItemType;
Старые установки сбрасываются} begin
if IsMouse then begin
ClearMouseItems;
GetMem(ItemsList,NItem*SizeOf(MouseItemType));
Move (Items, ItemsList^NIten^SizeOftMouseItemType));
NMouseItertt := NItem end end; {SatMouseItem} /——_-——————_————;
Procedure AddMouseItemdtem: MouseItemType) ;
{Добавляет еще один элемент для выбора мышыэ. Старые установки сохраняются} var
р: PMouseIt;
k: Byte;
begin
if IsMouse then begin
k := NMouseItem;
GetMem(P,(k+1)*SizeOf(MouseItemType)) ;
Move(ItemsList",P",k*3ize0f(MouseItemType));
Move(Item,Pл[k+1],SizeOf(MouseItemType)) ;
ClearMouseItems;
NMouseItem := k+1;
ItemsList :° P end end; {AddMouseItem} /——————————— ———}
Procedure ClearMouseItems;
(Сбрасывает ранее установленные элементы} begin
if IsMouse and (NMouseItem <>0) then begin
FreeMem(ItemsList,NMouseItem*SizeOf(MouseItemType));
NMouseItem := 0 end
end; {ClearMouseItemf ^———————————————;
Procedure GetMouseItem(var NItem: Byte; var Items);
(Возвращает установленные элементы}