show controls with rounded corners?
procedure MakeRounded ( Control : TWinControl );
var
R : TRect ;
Rgn : HRGN ;
begin
with Control do
begin
R := ClientRect ;
rgn := CreateRoundRectRgn ( R . Left , R . Top , R . Right , R . Bottom , 20 , 20 );
Perform ( EM_GETRECT , 0 , lParam (@ r ));
InflateRect ( r , - 5 , - 5 );
Perform ( EM_SETRECTNP , 0 , lParam (@ r ));
SetWindowRgn ( Handle , rgn , True );
Invalidate ;
end ;
end ;
procedure TForm1 . Button1Click ( Sender : TObject );
begin
// TMemo:
Memo1 . BorderStyle := bsNone ;
MakeRounded ( Memo1 );
// TEdit:
Edit2 . BorderStyle := bsNone ;
MakeRounded ( Edit2 );
// TPanel:
MakeRounded ( Panel1 );
// TStaticText:
MakeRounded ( StaticText1 );
// TForm
Form1 . BorderStyle := bsNone ;
MakeRounded ( Form1 );
end ;