C'est une petite astuce
On prend un usercontrol, on lui place une image dans picture, la même dans maskpicture
On lui met la couleur transparente dans maskcolor, puis backcolor=transparent
On le place sur une fenêtre
On lui met le code suivant dans le usercontrol
Source / Exemple :
private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
private Declare Sub ReleaseCapture Lib "user32" ()
private Const WM_NCLBUTTONDOWN = &HA1
private Const HTCAPTION = 2
private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
private Const GWL_HWNDPARENT = (-8)
Private Sub UserControl_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Call ReleaseCapture
lngReturnValue = SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End Sub
Private Sub UserControl_Show()
If Ambient.UserMode Then
SetParent hwnd, 0
SetWindowLong hwnd, GWL_HWNDPARENT, UserControl.Parent.hwnd
End If
End Sub
Conclusion :
& Voila
Y'a un exemple dans le ZIP
a++
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.