Nej, men det er muligt at forme sin form..dvs skærer noget væk.. Hvis du bruger XP, kan du gøre alle programmerne gennemsigtigt.. Det er vist en funktion i NT/2000/XP (kan ikke huske hvilke)
Private Const LWA_COLORKEY As Long = &H1 Private Const LWA_ALPHA As Long = &H2 Private Const GWL_EXSTYLE As Long = (-20) Private Const WS_EX_LAYERED As Long = &H80000
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
' lValue er maximun 255 og minimun 0 i vadi ' virker først fra Windows 2000 og op efter.. Public Sub Gennemsigtig(ByVal lhwnd As Long, ByVal lValue As Long) Call SetWindowLong(lhwnd, GWL_EXSTYLE, _ GetWindowLong(Me.hWnd, GWL_EXSTYLE) Or WS_EX_LAYERED) Call SetLayeredWindowAttributes(lhwnd, 0, lValue, LWA_ALPHA) End Sub
Private Sub Form_Load() With VScroll1 '<- VScrollBar .Max = 50 .Min = 255 .Value = 128 .SmallChange = 1 .LargeChange = 128 End With End Sub
Private Sub VScroll1_Change() With VScroll1 '<- VScrollBar Call Gennemsigtig(Me.hWnd, .Value) Me.Caption = ("lValue = " & .Value) End With End Sub
Private Sub VScroll1_Scroll() With VScroll1 '<- VScrollBar Call Gennemsigtig(Me.hWnd, .Value) Me.Caption = ("lValue = " & .Value) End With End Sub '---------------------------- Form1 ----------------------------
Det er jo den funktion NT/2000/XP bruger, der kan gøre alle programmer gennemsigtige.. Som du skriver også skriver, så kræver den NT/2000/XP.. Det skal man lige huske..
Mit første indlæg: "Nej, men det er muligt at forme sin form..dvs skærer noget væk.. Hvis du bruger XP, kan du gøre alle programmerne gennemsigtigt.. Det er vist en funktion i NT/2000/XP (kan ikke huske hvilke)"
Jeg tror ikke, at en tidligere version end NT/2000/XP kan gøre det. Baggrunden skal have en eller anden farve, hvor gennemsigtig ikke er en mulighed.
I NT/2000/XP bliver hele programmet gennemsigtig, ikke kun formens baggrund.
Ja, jeg ved godt at Xp, NT og 2000 har denne funktion, men jeg har win 98. kan du ikke lige give mig denne kode til at skærer formen ud (så for du point)
Man kan GODT køre noget af formen, nærmere bestemt én enkelt farve, gennemsigtig. Faktisk er den del af formen der har den farve ikke blot gennemsigtig, men det er også muligt at "klikke igennem" formen og f.eks. markerer ikoner på skrivebordet bag formen. Dette gøres simpelt nok ved at bruge LWA_COLORKEY i stedet for LWA_ALPHA i API-funktionen SetLayeredWindowAttributes. Dette virker, som også andre har nævnt, kun i Windows NT og frem.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.