Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Прозрачность окна и кнопки

Ответить
Настройки темы
VBA - Прозрачность окна и кнопки

Пользователь


Сообщения: 54
Благодарности: 0

Профиль | Отправить PM | Цитировать


Создаем проект Visual Basic, на форму кидаем кнопку и пишем код в эту форму:

PHP код: Выделить весь код

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As LongByVal nIndex As Long) As Long

Private 
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As LongByVal nIndex As LongByVal dwNewLong As Long) As Long
Private 
Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As LongByVal crKey As LongByVal bAlpha As ByteByVal dwFlags As Long) As Long

Private Sub Form_Load
()
    
Dim Ret As Long
    Ret 
GetWindowLong(hwndGWL_EXSTYLE)
    
Ret Ret Or &H80000
    SetWindowLong hwnd
, (-20), Ret
    
    SetLayeredWindowAttributes hwnd
01282
End Sub 

И наша форма становится прозразна на 50 процентов. Теперь немножко переделываем код для кнопки:

PHP код: Выделить весь код

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As LongByVal nIndex As Long) As Long

Private 
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As LongByVal nIndex As LongByVal dwNewLong As Long) As Long
Private 
Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As LongByVal crKey As LongByVal bAlpha As ByteByVal dwFlags As Long) As Long

Private Sub Form_Load
()
    
Dim Ret As Long
    Ret 
GetWindowLong(Command1.hwndGWL_EXSTYLE)
    
Ret Ret Or &H80000
    SetWindowLong Command1
.hwnd, (-20), Ret
  
    SetLayeredWindowAttributes Command1
.hwnd0128Or 1
    
End Sub 

... и кнокпа почему то не становится на 50% прозрачнее Где ошибка?

Отправлено: 22:43, 15-07-2014

 

Пользователь


Сообщения: 54
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всю голову уже сломал - пробовал вместо hwnd писать идентификатор hDC для кнопки функцией GetWindowDC - то же не выходит... Пните меня в правильное направление

Отправлено: 19:16, 16-07-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Прозрачность окна и кнопки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ресурсы - Уменьшение кнопки "Свернуть все окна" и отступов между файлами в папках at386 Оформление Windows 11/ 10 / 8 / 7 / Vista 0 03-12-2013 16:01
Ресурсы - Цвет кнопки закрытия окна в Windows 8 Fantomas_TR Оформление Windows 11/ 10 / 8 / 7 / Vista 4 23-06-2013 20:43
Интерфейс - Как удалить кнопки из окна "Мой компьютер"? Real Root Microsoft Windows 7 3 15-11-2012 20:55
[решено] По нажатию кнопки в GUI снизу появляется дополнительный сектор окна evg64 AutoIt 6 15-03-2010 21:19
Интерфейс - Нет анимации при нажатии кнопки "Свернуть все окна" ultima Microsoft Windows 7 1 26-11-2009 02:20




 
Переход