powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SetWindowRgn
3 сообщений из 3, страница 1 из 1
SetWindowRgn
    #33860263
Rustygold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, имею нижеследующую проблему. Может кто знает ответ?

Есть код (кода взял по-минимуму, только чтобы проблему показать):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Форма:

Private Sub Form_Load()

    Dim FormWidthInPixels As Long
    Dim FormHeightInPixels As Long
    Dim a, ret
    
    FormWidthInPixels = Me.Width / Screen.TwipsPerPixelX
    FormHeightInPixels = Me.Height / Screen.TwipsPerPixelY
    
    a = CreateRoundRectRgn( 0 ,  0 , FormWidthInPixels, FormHeightInPixels,  24 ,  24 )
    
    a = SetWindowRgn(Me.hwnd, a, True)

    ret = DeleteObject(a)

End Sub


Модуль:

Public Declare Function SetWindowRgn Lib "user32.dll" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Public Declare Function CreateRoundRectRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Public Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As Long) As Long

В результате получается окно с закругленными краями.

НО: стиль окна меняется с WinXP на Win2k :(

А как бы сделать "кривую" форму и чтоб в стиле WinXP ?
...
Рейтинг: 0 / 0
SetWindowRgn
    #33861953
FROL_FOKICH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinXP это GDI+, ты использовал GDI
...
Рейтинг: 0 / 0
SetWindowRgn
    #33862322
Rustygold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FROL_FOKICHWinXP это GDI+, ты использовал GDI

Нет. Просто создал новый проект на VB6 под Windows XP - все контролы, конечно, выглядят, как в Win9x, но шапка! - как в WinXP.

А после использования SetWindowRgn и шапка начинает выглядеть, как в Win9x :(
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SetWindowRgn
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]