procedure TForm1.FormCreate(Sender: TObject);
var
pt: array [0 .. 4] of TPoint;
m_rgn: HRGN;
begin
pt[0].x := self.Width div 2;
pt[0].y := 0;
pt[1].x := 0;
pt[1].y := self.Height div 2;
pt[2].x := self.Width div 2;
pt[2].y := self.Height;
pt[3].x := self.Width;
pt[3].y := self.Height div 2;
pt[4].x := self.Width;
pt[4].y := 0;
m_rgn := CreatePolygonRgn(pt, 5, WINDING);
SetWindowRgn(self.Handle, m_rgn, TRUE);
end;
http://www.lsworks.net/article/2.html