Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Transparentsy Добавлено: 07.05.05 13:09  

Автор вопроса:  AgentFire | ICQ: 192496851 
Как заставить окно быть немного прозрачным?

Ответить

  Ответы Всего ответов: 20  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 07.05.05 13:19

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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Public Sub TranspMe(ByVal lngHandle As Long, ByVal Persent As Integer)  ' Прозрачность программы

    Call SetWindowLong(lngHandle, &HFFEC, GetWindowLong(lngHandle, (&HFFEC)) Or &H80000)
    Call SetLayeredWindowAttributes(lngHandle, cNull, (&HFF * (&H64 - Persent)) / &H64, &H2&;)
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 ViktorZ



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #2 Добавлено: 07.05.05 16:30
а как это осуществляется на уровне аппаратном?

Ответить

Номер ответа: 3
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #3
Добавлено: 07.05.05 23:17
чем тебе етот пример не нравится?

Ответить

Номер ответа: 4
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #4
Добавлено: 08.05.05 02:07
Руллллез пример!!!! ради таких можно и делфи снести :)

Ответить

Номер ответа: 5
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #5
Добавлено: 08.05.05 17:58
а чем те дельфи не нравится?

Ответить

Номер ответа: 6
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #6
Добавлено: 08.05.05 18:04
Почему нравится... свойством AlphaBlend :) Да не, нормальный язык паскаль кто бы что не говорил. Ну, вБ лучше конечно :)

Ответить

Номер ответа: 7
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #7 Добавлено: 08.05.05 19:13
writeln('Pascal - фуфло...');

Ответить

Номер ответа: 8
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #8
Добавлено: 08.05.05 20:24
На дельфи это будет так же, да еще и без деклараций...

Ответить

Номер ответа: 9
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #9
Добавлено: 08.05.05 22:10
2Noviks:

а чё тогда через Writeln? писал бы тогда Print, Echo ну или на самый худой конец printf :)

Ответить

Номер ответа: 10
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #10 Добавлено: 08.05.05 22:26
Ну, как по старинке... :)

Ответить

Номер ответа: 11
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #11 Добавлено: 12.05.05 08:05
Ну или так - модификация кода от sne


Public Sub SetTransparency(ByVal hwnd As Long, ByVal Value As Integer)
    On Error GoTo erra
    ' Определяем доступна ли наша функция...
    Dim vOSV As OSVERSIONINFO
    vOSV.dwOSVersionInfoSize = Len(vOSV)
    Call GetVersionEx(vOSV)
    If Not vOSV.dwPlatformId = &H2 Or vOSV.dwMajorVersion < &H5 Then Exit Sub
    If Value > 255 Or Value <= 0 Then Exit Sub
    ' Если доступна и значения верные, то делаем прозрачность
    Call SetWindowLong(hwnd, &HFFEC, GetWindowLong(hwnd, (&HFFEC)) Or &H80000)
    Call SetLayeredWindowAttributes(hwnd, vbNull, Value, &H2&;)
    Exit Sub
erra:
End Sub


Ответить

Номер ответа: 12
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #12
Добавлено: 12.05.05 11:09
Что, что а обработчик ошибок можно отсюда исключить бесболезненно, имхо :)

Ответить

Номер ответа: 13
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #13 Добавлено: 12.05.05 13:22
Можно :)

Ответить

Номер ответа: 14
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #14 Добавлено: 12.05.05 15:07
Да, кстати...
[ssmile9][ssmile9][ssmile9]

Ответить

Номер ответа: 15
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #15 Добавлено: 12.05.05 15:08
Блин, смайлы не кастуются...
Как их сделать?

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам