Закруглить углы формы(при FormBorderStyle = None)

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Lamer_Pavel
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 09.10.2007 (Вт) 18:05

Закруглить углы формы(при FormBorderStyle = None)

Сообщение Lamer_Pavel » 21.03.2008 (Пт) 21:07

У меня есть форма без границ,её фон - картинка.
Как мне закруглить её края?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 22.03.2008 (Сб) 7:04

Установить для формы регион нужной формы, свойство Region. А региону задать форму скругленного прямоугольника.
Весь мир матрица, а мы в нем потоки байтов!

Lamer_Pavel
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 09.10.2007 (Вт) 18:05

Сообщение Lamer_Pavel » 22.03.2008 (Сб) 11:09

Что мне выбрать из выпадающего списка?

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Сообщение Gloom » 22.03.2008 (Сб) 14:30

Код: Выделить всё
    <DllImport("gdi32")> _
    Public Function CreateRoundRectRgn( _
        ByVal nLeftRect As Integer, _
        ByVal nTopRect As Integer, _
        ByVal nRightRect As Integer, _
        ByVal nBottomRect As Integer, _
        ByVal nWidthEllipse As Integer, _
        ByVal nHeightEllipse As Integer) As IntPtr
    End Function

...
    Me.Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Me.Width, Me.Height, 20, 20))

Gloom
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 200
Зарегистрирован: 23.11.2004 (Вт) 15:57
Откуда: СПб

Сообщение Gloom » 22.03.2008 (Сб) 15:02

По правильному конечно DeleteObject надо не забыть:
Код: Выделить всё
    <DllImport("gdi32")> _
    Public Function DeleteObject(ByVal hObject As IntPtr) As Boolean
    End Function
...
    Dim Hrgn As IntPtr = CreateRoundRectRgn(0, 0, Me.Width, Me.Height, 20, 20)
    Me.Region = System.Drawing.Region.FromHrgn(Hrgn)
    DeleteObject(Hrgn)

Lamer_Pavel
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 23
Зарегистрирован: 09.10.2007 (Вт) 18:05

Сообщение Lamer_Pavel » 22.03.2008 (Сб) 19:09

Спасибо,работает.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList