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

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

-----------
Андрей.
...
Рейтинг: 0 / 0
27.11.2007, 11:21
    #34967414
surbanec
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос с прозрачностью
С этим понятно! но а как сделать Прозрачность(вырезку) формы Альфа маской?
...
Рейтинг: 0 / 0
27.11.2007, 15:17
    #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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос с прозрачностью / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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