1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| procedure TFPrinc.alertecircle(pos:TPoint);
var ACanvas: TCanvas;
hd : HDC;
i,a,b,c,d:integer;
bm:TBitmap;
begin
hd := getdc(0);
ACanvas := TCanvas.Create;
bm:=TBitmap.Create;
bm.Width:=25*4*2+25;
bm.Height:=bm.Width;
ACanvas.Handle := GetDC(0);
ACanvas.Brush.Style := bsClear;
ACanvas.Pen.Color := clRed;
ACanvas.Pen.Width := 5;
for i := 4 downto 1 do
begin
a:=pos.X-(25*i);
b:=pos.Y-(25*i);
c:=pos.X+(25*i);
d:=pos.Y+(25*i);
bm.Canvas.FillRect(classes.Rect(0,0,200,200));
BitBlt(bm.Canvas.Handle,0,0,c-a+10,d-b+10,hD,a-5,b-5,SRCCOPY);
ACanvas.Ellipse(a,b,c,d);
sleep(50);
BitBlt(ACanvas.Handle,a-5,b-5,c-a+10,d-b+10,bm.Canvas.Handle,0,0,SRCCOPY);
end;
ACanvas.Free;
bm.Free;
ReleaseDc(0, hd);
end; |
Partager