Объектно-ориентированное программирование. Как сделать форму круглой? - Компьютерные вопросы

Вопрос Объектно-ориентированное программирование. Как сделать форму круглой?

Регистрация
21 Ноя 2013
Сообщения
104
Репутация
0
Спасибо
0
Монет
0
Стандартно, формы прямоугольные. Можно ли как-нибудь сделать ее круглой или овальной? Как-то ведь это делают.

Object Pascal, Visual Basic. Хотя я думаю, язык тут не важен, принцип-то один и тот же.
 
Регистрация
13 Дек 2013
Сообщения
83
Репутация
0
Спасибо
0
Монет
0
ну, в С# у формы есть свойство Region - там можно задать, какой формы будет окно. если же хочется без .net, то в WinAPI есть функция SetWindowRgn с теми же свойствами.
 
Регистрация
24 Июл 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
В pascal есть встроенные функции circle(x, y, r) и ellipse(x, y, 0, 360, s1, s2). Касательно второго - 0 и 360 - значения градусной меры, поэкспериментируйте - поймете, s1 - вертикальный радиус эллипса, s2 - горизонтальный. Или же можно поизучать уравнение окружности: x^2 + y^2 = r^2 и сделать через него.
 
Регистрация
24 Авг 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
На .NET WinForms можно установить значение TransparencyKey на цвет формы, который станет прозрачным. Но плавной прозрачности там не будет. Намного больше возможностей у WPF.
 
Регистрация
27 Окт 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Delphi: var rgn: HRGN; rgn := CreateEllipticRgn(0, 0, Form1.Width, Form1.Height); SetWindowRgn(Form1.Handle, rgn, True); VB.NET: Dim path As Drawing2D.GraphicsPath = New Drawing2D.GraphicsPath() path.AddEllipse(Me.ClientRectangle) Me.Region = New Region(path) path.Dispose()
 
Регистрация
19 Ноя 2012
Сообщения
88
Репутация
0
Спасибо
0
Монет
0
Чтоб сделать форму нестандартной формы, надо копать WinApi, или может есть готовые библиотеки. ООП тут ни при чём. Загугли "delphi круглая форма", найдёшь информацию по этой теме.
 
Сверху Снизу