Поддержка / Donate
 

WebMoney

Яндекс.Деньги

SMS.Копилка
Деньги@Mail.ru
Rupay
E-gold
PayPal

 

Благодарю за поддержку!

Лента RSS - Новости сайта Новости сайта
Лента RSS - Новости форума Новости форума
Добавить в закладки и поделиться Bookmark and Share

 

Архив исходников

 


Automatic translation

 
English German French
Italian Spanish Portuguese
Greece Japan Chinese
  Korean  

  

 

  Форум  

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

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



Google  
 

Создать форму с закругленными краями

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  Die CreateRoundRectRgn lasst eine Form mit abgerundeten Ecken erscheinen. 

  The CreateRoundRectRgn function creates a rectangular 
  region with rounded corners 
}

 procedure TForm1.FormCreate(Sender: TObject);
 var
   rgn: HRGN;
 begin
   Form1.Borderstyle := bsNone;
   rgn := CreateRoundRectRgn(0,// x-coordinate of the region's upper-left corner 
    0,            // y-coordinate of the region's upper-left corner 
    ClientWidth,  // x-coordinate of the region's lower-right corner 
    ClientHeight, // y-coordinate of the region's lower-right corner 
    40,           // height of ellipse for rounded corners 
    40);          // width of ellipse for rounded corners 
  SetWindowRgn(Handle, rgn, True);
 end


 { The CreatePolygonRgn function creates a polygonal region. }


 procedure TForm1.FormCreate(Sender: TObject);
 const
   C = 20;
 var
   Points: array [0..7] of TPoint;
   h, w: Integer;
 begin
   h := Form1.Height;
   w := Form1.Width;
   Points[0].X := C;     Points[0].Y := 0;
   Points[1].X := 0;     Points[1].Y := C;
   Points[2].X := 0;     Points[2].Y := h - c;
   Points[3].X := C;     Points[3].Y := h;

   Points[4].X := w - c; Points[4].Y := h;
   Points[5].X := w;     Points[5].Y := h - c;

   Points[6].X := w;     Points[6].Y := C;
   Points[7].X := w - C; Points[7].Y := 0;

   SetWindowRgn(Form1.Handle, CreatePolygonRgn(Points, 8, WINDING), True);
 end;



Источник - Проект "Delphi World" © Выпуск 2002 - 2004
Автор проекта: Акулов Николай



   Rambler's Top100             Яндекс цитирования