Ответы на вопросы, чаще всего задаваемые в форумах VBStreets. Для тех, кому лень искать.
-
hCORe
-
- VB - Экстремал
-
-
- Сообщения: 2332
- Зарегистрирован: 22.02.2003 (Сб) 15:21
- Откуда: parent directory
-
hCORe » 28.12.2004 (Вт) 13:49
Этот простой код поможет вам сделать любую форму прозрачной:
- Код: Выделить всё
'любимая опция
Option Explicit
'функции API
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
'константы API
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
'объявления программы
Private Const BLEND = 180 'значение прозрачности
Private Sub Form_Load()
Dim rc As Long
'установить стиль окна
rc = GetWindowLong(Me.hwnd, GWL_EXSTYLE)
If Not (rc Or WS_EX_LAYERED) Then
rc = rc Or WS_EX_LAYERED
End If
SetWindowLong Me.hwnd, GWL_EXSTYLE, rc
'установить прозрачность
SetLayeredWindowAttributes Me.hwnd, 0, _
BLEND, LWA_ALPHA
End Sub
Моду создают модоки, а распространяют модозвоны.
Вернуться в Популярные вопросы
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0