Hah, das ist ja witzig. Sowas hab ich schon lange gesucht und dann mit einem TShape realisiert. Wenn ich mir die Lösung ansehe mit CreateRoundRectRGN ist das ja viel cooler.
Ein Beispiel mit dem Panel:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a:hrgn;
begin
Form1.Color:=clOlive; //Farbig, damit man den Unterschied sieht
Panel1.Color:=clTeal;
a:=CreateRoundRectRgn(0,0,90,90,20,20);
setwindowrgn(panel1.Handle,a,true);
end;