Koodin avulla saat tehtyä ikkuna osittain läpinäkyviksi väliltä 0-255. Toimii vain Windows 2000 ja XP käyttöjärjestelmissä. Toisessa listauksessa on esimerkki miten saat Windowssin tehtäväpalkin läpinäkyväksi.
'Tämä tekee formista läpinäkyvän... 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 crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Private Sub Form_Paint() SetTransparent Me.hWnd, 200 End Sub Sub SetTransparent(hWnd As Long, Transparent As Byte) Dim N As Long N = GetWindowLong(Me.hWnd, (-20)) Or &H80000 SetWindowLong hWnd, (-20), N SetLayeredWindowAttributes hWnd, 0, Transparent, &H2 End Sub
'Tekee tehtäväpalkista läpinäkyvän 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 crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Dim tWnd As Long Private Sub Form_Load() 'etsitään tehtäväpalkin kahva tWnd = FindWindow("Shell_traywnd", vbNullString) 'tehdään siitä läpinäkyvä SetTransparent tWnd, 128 End Sub Private Sub Form_Unload(Cancel As Integer) 'ja palautetaan tehtäväpalkki näkyväksi SetTransparent tWnd, 255 End Sub Sub SetTransparent(hWnd As Long, Transparent As Byte) Dim N As Long N = GetWindowLong(Me.hWnd, (-20)) Or &H80000 SetWindowLong hWnd, (-20), N SetLayeredWindowAttributes hWnd, 0, Transparent, &H2 End Sub
Jee tosta on paljon hyötyä
Ton SetLayeredWindowAttributesin tiesin, ku mul on semmone ohjelma ku GhostIt, se valitti 98 jotai puuttuvast linkist ja se mainitsi ton SetLayered-homman mut just tota oon ettiny! Thx very much!
Tosi hyödyllinen ;)
Harmi ettei toimi käyttiksissä jotka on vanhempia kuin MICROSOFT® WINDOWS® 2000
EDIT: Täytyi muuttaa tavaramerkki oikeeks, muutenhan MICROSOFT® voisi vaikka suuttua (http://www.microsoft.com/finland/permission/t-mark/2K-Guide.mspx)
Kiitoksia tosiaan vinkistä. Loistava ja sitä paitsi läpinäkyvillä formeilla saa respektii :D
Edit: pidennä sisennyksiä, yks merkki ei millään riitä
lainaus:
Edit: pidennä sisennyksiä, yks merkki ei millään riitä
No tulipa tätäkin vinkkiä sitten hieman päivitettyä ja ei hoksannut katsoa oliko tuossa entisessä tosiaan vain yhden merkin sisennykset, mutta nyt siinä on sitten kahden merkin mittaiset sisennykset.
Kaiken tekee vaikeeksi. .NETissä riittää pelkkä
Me.Opacity = 0.7
Ei mulla mee tehtäväpalkki läpinäkyväksi.
Ei mene mullakaan läpinäkyväksi vaikka mitä tekis
Kyllä tuo ainakin minulla toimii Windows XP:ssä ihan oikeen ja kyllä pitäisi toimia myös 2000:ssa.
Hieno ja hyödyllinen.
Hieno ja todellakin hyödyllinen. Hauska vaan kun suoritat tuon ja sitte et paina formista x-näppäintä vaan painat Ctrl+Break niin tuo tehtäväpalkki jää läpinäkyväksi.
Toihan tehdään niin että loopissa joka ohjelman läpinäkyvyys asetetaan tiettyyn arvoon niin tulee AvroKlass©
Aihe on jo aika vanha, joten et voi enää vastata siihen.