Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 583

•  TDictionary Custom Sort  6 599

•  Fast Watermark Sources  6 369

•  3D Designer  9 319

•  Sik Screen Capture  6 703

•  Patch Maker  7 084

•  Айболит (remote control)  7 088

•  ListBox Drag & Drop  5 955

•  Доска для игры Реверси  97 496

•  Графические эффекты  7 290

•  Рисование по маске  6 584

•  Перетаскивание изображений  5 457

•  Canvas Drawing  5 826

•  Рисование Луны  5 537

•  Поворот изображения  5 058

•  Рисование стержней  3 623

•  Paint on Shape  2 864

•  Генератор кроссвордов  3 750

•  Головоломка Paletto  3 019

•  Теорема Монжа об окружностях  3 828

•  Пазл Numbrix  2 519

•  Заборы и коммивояжеры  3 219

•  Игра HIP  2 186

•  Игра Go (Го)  2 117

•  Симулятор лифта  2 499

•  Программа укладки плитки  2 149

•  Генератор лабиринта  2 633

•  Проверка числового ввода  2 303

•  HEX View  2 635

•  Физический маятник  2 255

 
скрыть

  Форум  

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

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



Delphi Sources

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



Оформил: DeeCo

{ 
  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;