Para empezar yo te muestro el siguiente código para un botón ovalado.
Añade el código siguiente al formulario que contenga el botón, en el ejemplo lo llamamos
button1.
Código:
procedure TForm1.FormCreate(Sender: TObject);
var rgn : hrgn;
begin
rgn:=CreateRoundRectRgn(0,0,button1.width,button1.height,30,30);
SetWindowRgn(button1.handle, rgn, true);
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
canvas.pen.width:=6;
canvas.pen.color:=clgreen;
canvas.RoundRect(button1.left,button1.top,button1.width+button1.left,button1.height+button1.top,30,30);
end;
Un Saludo.