Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 877

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Можно ли создать круглую форму из старой не обрубая ничего на старой форме?
Т.е. круг должен описывать старую форму!

Подобный код обрубает форму, а нам нужно избежать этого!

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
Form1.Brush.Style := bsSolid; //bsclear;
GetWindowRgn(Form1.Handle, FormRgn);
DeleteObject(FormRgn);
Form1.Height := 900;
Form1.Width := Form1.Height;
FormRgn := CreateRoundRectRgn(1, 1, Form1.Width - 1,
Form1.height - 1, Form1.width, Form1.height);
SetWindowRgn(Form1.Handle, FormRgn, TRUE);
end;

prorok-kane Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: prorok-kane (статус: Посетитель)
Вопрос отправлен: 1 января 2011, 12:44
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 2 января 2011, 18:47; участников в обсуждении: 2.
Amidamaru

Amidamaru (статус: 4-ый класс), 1 января 2011, 13:39 [#1]:

ну так нужно просто решить задачку по геометрии :)
и по результату сделать круглую форму:
дано:
* прямоугольник
* левый верхний угол имеет координаты (0,0)
* ширина w и высота h
найти:
* круг описывающий этот прямоугольник (радиус, координаты центра)
* прямоугольник (квадрат) описывающий этот круг (координаты л.в. угла).

Центр круга на пересечении диагоналей;
Радиус круга = половина диагонали;
Сторона квадрата = диаметр круга;
Координаты л.в. угла находятся: из каждой координаты центра круга отнимаем радиус;
Приглашаю Вас на наш IRC-канал: #delphiintru в сети DalNet.
eclipse

eclipse (статус: Посетитель), 2 января 2011, 18:47 [#2]:

Ну к примеру для таки целей я использую SUIPack http://eclipse-lab.ucoz.ru/delphi/SUIPackv6.2.Full.Source.zip

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:58
Выполнено за 0.03 сек.