Kerekített TEdit vagy más ablak

Top  Previous  Next

...show controls with rounded corners?

Author: P. Below

Homepage: http://www.teamb.com

[ Print tip ]                

 

Tip Rating (13):        

 

 

 

 

 

 

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;