Страница: 1 |
В Windows 2000/XP есть такая фича - прозрачность окон. Так вот! Как задать процент прозрачности для формы?
Module: ------------ Option Explicit Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, _ ByVal nIndex As Long) As Long Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, _ ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Public Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, _ ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Public Const LWA_COLORKEY = &H1 Public Const LWA_ALPHA = &H2 Public Const GWL_EXSTYLE = (-20) Public Const WS_EX_LAYERED = &H80000 Public Sub SetTransparent(hWnd As Long, Layered As Byte) Dim Ret As Long Ret = GetWindowLong(hWnd, GWL_EXSTYLE) Ret = Ret Or WS_EX_LAYERED SetWindowLong hWnd, GWL_EXSTYLE, Ret SetLayeredWindowAttributes hWnd, 0, Layered, LWA_ALPHA End Sub ----------------------------------------- Form: ( sozdai eshjo ScrollBar) -------------- Option Explicit Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Dim hnd As Long Private Sub Form_Load() hnd = FindWindow("Shell_TrayWnd", vbNullString) End Sub Private Sub HScroll1_Change() SetTransparent hnd, 255 - HScroll1.Value End Sub А чем (в смысле какой функцией) пользуешься? Когда я меняю прозрачность мне говорят: Мол 6 еррор (переполнение)! У скролла есть свойство .Max, т.е. максимальное значение. Установи его =255, а то по умолчанию там страшенное число стоит, а в SetTranparent коэфф. прозрачности может быть только 0-255. А вообще, если надо поменять прозрачность только своей формы, то лучше не куролесить, а делать так SetTransparent form1.hwnd, 255 - hscroll1.value Страница: 1 |
Вопрос: Прозрачность
Добавлено: 18.11.03 19:23
Автор вопроса: Magic lantern | Web-сайт:
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
StrikeR
ICQ: 151819
Вопросов: 32
Ответов: 110
Web-сайт:
Профиль | | #1
Добавлено: 18.11.03 19:32
Номер ответа: 2
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #2
Добавлено: 18.11.03 19:35
Номер ответа: 3
Автор ответа:
Magic lantern
ICQ: 1707975
Вопросов: 8
Ответов: 47
Web-сайт:
Профиль | | #3
Добавлено: 19.11.03 04:29
Номер ответа: 4
Автор ответа:
Dima22
Вопросов: 5
Ответов: 57
Профиль | | #4
Добавлено: 20.11.03 22:25