Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать круглую форму? 
:(
    Опции темы
Alex
Дата 4.11.2004, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Здесь приведён полный пример того, как создать круглую форму. 
Не забудьте создать TButton, чтобы окно можно было закрыть. 

Код

unit Unit1;  

interface  

uses  
  Windows, Messages, SysUtils, Classes, Graphics, Controls,  
  Forms, Dialogs, ExtCtrls, Buttons, StdCtrls;  

type  
  TForm1 = class(TForm)  
    Button1: TButton;  
    procedure FormCreate(Sender: TObject);  
    procedure Button1Click(Sender: TObject);  
  private  
    { Private-Deklarationen}  
    procedure CreateParams(var Params: TCreateParams); override;  
  public  
    { Public-Deklarationen}  
  end;        

var  
  Form1: TForm1;  

implementation  

{$R *.DFM}  

{ TForm1 }  

procedure TForm1.CreateParams(var Params: TCreateParams);  
begin  
  inherited CreateParams(Params);  

  { удаляем заголовок и рамку } 
  Params.Style := Params.Style or ws_popup xor ws_dlgframe;  
end;  

procedure TForm1.FormCreate(Sender: TObject);  
var  
  FormRgn: hRgn;  
begin  
  {clear form}  
  Form1.Brush.Style := bsSolid; //bsclear;  
  { делаем круг формы }  
  GetWindowRgn(Form1.Handle, FormRgn);  

  { удаляем старый объект }  
  DeleteObject(FormRgn);  
  { делаем прямоугольник формы } 
  Form1.Height := 500;  
  Form1.Width := Form1.Height;  
  { создаём круглую форму }  
  FormRgn := CreateRoundRectRgn(1, 1, Form1.Width - 1,  
             Form1.height - 1, Form1.width, Form1.height);  

  { устанавливаем новое круглое окно } 
  SetWindowRgn(Form1.Handle, FormRgn, TRUE);  
end;  

procedure TForm1.Button1Click(Sender: TObject);  
begin  
  Form1.close;  
end;  

end.



--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 23 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.