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;