Gå til innhold

Anbefalte innlegg

Jeg har et spørsmål jeg lurte på om noen av dere ville svare på:

 

 

Går det ann å få en Picturebox til å bli "litt gjennomsiktig" sånn at du kan se det som ligger bak, men samtidig ser det som er i Picturebox-en? Hvordan? Vet at det går ann med formen, men har ikke klart det med en Picturebox... :(

 

 

Snart jul, Hurra :xmas:

Lenke til kommentar
Videoannonse
Annonse

Jeg har prøvd å finne en løsning, men dette var det beste jeg kunne komme på:

 

Option Explicit

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
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Const LWA_ALPHA = &H2
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Const GWL_HWNDPARENT As Long = -8
Const GWL_HINSTANCE As Long = -6
Const GWL_STYLE As Long = -16
Const WS_CHILD = &H40000000
Const GWL_WNDPROC As Long = -4

Private Sub Form_Load()

Dim Ret As Long

SetParent Picture1.hwnd, 0
Ret = GetWindowLong(Picture1.hwnd, GWL_EXSTYLE)
Ret = Ret Or WS_EX_LAYERED
SetWindowLong Picture1.hwnd, GWL_EXSTYLE, Ret
SetLayeredWindowAttributes Picture1.hwnd, 0, 128, LWA_ALPHA

DoEvents

SetParent Picture1.hwnd, Me.hwnd
SetWindowLong Picture1.hwnd, GWL_HWNDPARENT, Me.hwnd
SetWindowLong Picture1.hwnd, GWL_HINSTANCE, App.hInstance

End Sub

 

Men, som du sikkert finner ut, vil ikke pictureboxen flytte på seg. Løsningene er å sette formen til ikke-flyttbar eller å lage en timer som setter pictureboxen hele tiden til der den skal være i forhold til formen.

 

Noen som vet en bedre løsning enn det? Hvordan skal PictureBoxen flytte seg med formen?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...