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;