powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос с прозрачностью
4 сообщений из 4, страница 1 из 1
Вопрос с прозрачностью
    #34963001
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет
у меня появилось 2 вопроса связаныйх с прозрачностью:
1) Как сделать форму с вырезкой цветом или картинкой?
например в VB.net это просто
-------
Me.TransparencyKey = BackColor
----------
2)Как можно сделать полупрозрачную форму в VBA, например на 50%?

Помогите чем сможете!
...
Рейтинг: 0 / 0
Вопрос с прозрачностью
    #34965275
Belkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри здесь я оставлял пример.

-----------
Андрей.
...
Рейтинг: 0 / 0
Вопрос с прозрачностью
    #34967414
Фотография surbanec
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С этим понятно! но а как сделать Прозрачность(вырезку) формы Альфа маской?
...
Рейтинг: 0 / 0
Вопрос с прозрачностью
    #34968623
Nikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нинай поможет или нет но
так можно сделать прозрачными участки формы с определенным цветом:
Код: 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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Option Explicit

Const LWA_COLORKEY = &H1
'Const LWA_ALPHA = &H2
Const LWA_ALPHA = &H3
Const GWL_EXSTYLE = (- 20 )
Const WS_EX_LAYERED = &H80000

Private Declare Function GetWindowLong Lib "user32" _
            Alias "GetWindowLongA" _
            (ByVal hWnd As Long, _
            ByVal nIndex As Long) As Long
            
Private Declare Function SetWindowLong Lib "user32" _
            Alias "SetWindowLongA" _
            (ByVal hWnd As Long, _
            ByVal nIndex As Long, _
            ByVal dwNewLong As Long) As Long
            
Private Declare Function SetLayeredWindowAttributes Lib "user32" _
            (ByVal hWnd As Long, _
            ByVal crKey As Long, _
            ByVal bAlpha As Byte, _
            ByVal dwFlags As Long) As Long
            
Private Sub Form_Load()
    Dim Ret As Long
    'добавляем окну возможность прозрачности
    Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
    Ret = Ret Or WS_EX_LAYERED
    SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret
    'делаем белый цвет прозрачным
    SetLayeredWindowAttributes Me.hWnd, vbWhite,  255 , LWA_ALPHA
    'делаем форму белой, чтобы она стала прозрачной
    Me.BackColor = vbWhite
End Sub
таким образом можно положить на форму картинку с белым фоном, и форма обрежется по контуру картинки
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос с прозрачностью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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