这里有创建椭圆窗体的一段代码
procedure TFrmMain.FormCreate(Sender: TObject);
var
  rgn:HRGN;
begin
  rgn:=CreateEllipticRgn(0,0,150,150);
  SetWindowRgn(self.Handle, rgn, true);
end;
更一般的用CreatePolygonRgn代替CreateEllipticRgn就可以做出任意形状的窗体了