| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Возможно сделать форму vba прозрачным?

Возможно сделать форму vba прозрачным?

Ответ
Поиск в этой теме
Непрочитано 07.08.2015, 09:40 #1
Возможно сделать форму vba прозрачным?
vaxo55
 
Регистрация: 05.04.2012
Сообщений: 35

возможно сделать форму vba прозрачным как в vb6? и если можно как? в инете на такого не нашёл ответа
Просмотров: 3172
 
Непрочитано 07.08.2015, 10:25
#2
kycok

проектировщик ж.д. автоматики
 
Регистрация: 29.08.2009
Иркутск
Сообщений: 14
<phrase 1=


Надо создать в окне формы элементы ScrollBar1 и Label1. Потом добавить в форму код
Код:
[Выделить все]
Private Declare Function GetActiveWindow Lib "USER32" () As Long

Private Declare Function SetWindowLong Lib "USER32" _
Alias "SetWindowLongA" ( _
ByVal hWnd As Long, ByVal lngWinIdx As Long, _
ByVal dwNewLong As Long) As Long

Private Declare Function GetWindowLong Lib "USER32" _
Alias "GetWindowLongA" ( _
ByVal hWnd As Long, ByVal lngWinIdx As Long) As Long

Private Declare Function SetLayeredWindowAttributes Lib "USER32" ( _
ByVal hWnd As Long, ByVal crKey As Integer, _
ByVal bAlpha As Integer, ByVal dwFlags As Long) As Long

Private Const WS_EX_LAYERED = &H80000
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const GWL_EXSTYLE = &HFFEC
Dim hWnd As Long

Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Sub ScrollBar1_Change()
Call Semitransparent(Me.ScrollBar1.Value)
End Sub

Private Sub UserForm_Activate()
Me.ScrollBar1.Value = 50
End Sub

Private Sub Label1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ScrollBar1.Value = 50
End Sub

Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ScrollBar1.Value = 50
End Sub

Private Sub Semitransparent(ByVal intLevel As Integer)
Dim lngWinIdx As Long
hWnd = GetActiveWindow
lngWinIdx = GetWindowLong(hWnd, GWL_EXSTYLE)
SetWindowLong hWnd, GWL_EXSTYLE, lngWinIdx Or WS_EX_LAYERED
SetLayeredWindowAttributes hWnd, 0, (255 * intLevel) / 100, LWA_ALPHA
Label1.Caption = "Semitransparent level is ..." & (100 - intLevel) & "%"
End Sub
__________________
СЦБ и прочая магия
kycok вне форума  
 
Автор темы   Непрочитано 07.08.2015, 11:01
#3
vaxo55


 
Регистрация: 05.04.2012
Сообщений: 35


спасибо kycok большое
vaxo55 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Возможно сделать форму vba прозрачным?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли сделать сумму чисел из выбранных текстовых объектов с префиксами и суффиксами? SilvioManuel AutoCAD 5 08.05.2015 08:39
Как сделать сделать заливку на растровой подложке? Особое мнение Разное 2 13.05.2008 10:30
Возможно сделать такое перекрытие? Alexcons_2 Конструкции зданий и сооружений 3 08.01.2008 14:45
Сделать объект прозрачным? Lucia Архитектура 3 02.01.2008 21:16
Как сделать автонумерацию блоков? Сергей123 Программирование 1 24.01.2006 17:20