скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Элементы управления с закругленными краями



Оформил: DeeCo

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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook