Mega Code Archive

 
Categories / Delphi / Examples
 

Show controls with rounded corners

Title: 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;