procedure TForm1.FormCreate(Sender: TObject);
var
hRgn: THandle;
begin
hRgn := CreateEllipticRgn(10, 10, Width - 20, Height - 20);
SetWindowRgn(Handle, hRgn, False);
end;
Código para crear un form con un hoyo
procedure TForm1.FormCreate(Sender: TObject);
var
hRgn1, hRgn2: THandle;
begin
hRgn1 := CreateRectRgn(0, 0, Width, Height);
hRgn2 := CreateEllipticRgn((Width div 2) - 50, (Height div 2) - 50, (Width div 2) + 50, (Height div 2) + 50);
CombineRgn(hRgn1, hRgn1, hRgn2, RGN_DIFF);
SetWindowRgn(Handle, hRgn1, False);
DeleteObject(hRgn2);
end;