end; {MouseHandler} {——————_——_————.———}

Procedure ChangeGraphCursor; Par;

{Изменяет курсор в графическом режиме} const.

t = ' Выберите указатель: ' ;

var

x,y,xl: Integer;

Size,b: Word;

p: Pointer;

Cur: array [1..NCur,0..1,0..15] of Word;

Proc: MouseHandlerType;

{————————}

Procedure PutCur(N: Byte);

{Сканирует изображение в левом верхнем углу экрана и формирует маски указателя} var

х,у: Byte;

b: Word;

begin

for у := 0 to 15 do begin b := 0;

for x := 0 to 15 do

if GetPixel (x,y) OGetBkColor then b := b or ($8000 shr x) ;

Cur[N,l,y] := b;

Cur[N,O,y] := not b end;

ClearViewPort end; {PutCur} {————————}

begin {ChangeGraphCursor}

{Готовим окно 16х16 в левом верхнем углу экрана} Size := ImageSize(О,0,15,15) ;

GetMem(P,Size) ;

GetImage^O/lS,]^,?^) ;

SetViewPort(0,0,15,15,ClipOn) ;

ClearViewPort;

{Готовим маски указателей} HideMouse;

if InitMouse then

ShowMouse; {Получаем стандартное изображение} SetMouseItem(NItem,Items) ;

MouseGotoXY(0,0); {Стандартный указатель} PutCur(1);

HideMouse;