Déplacer un label avec la souris

Fermé
calmeethumilite Messages postés 1 Date d'inscription jeudi 9 mai 2013 Statut Membre Dernière intervention 9 mai 2013 - 9 mai 2013 à 11:20
Deadly-Smurf Messages postés 74 Date d'inscription jeudi 15 août 2013 Statut Membre Dernière intervention 1 juin 2016 - 17 août 2013 à 19:43
Bonjour, avec le code ci-dessous. j'arrive à déplacer une pictureBox avec la souris, par contre pas les Label. Quelqu'un aurait-il une idée.

Public Class Form6
    Private Const WM_NCLBUTTONDOWN = &HA1
    Private Const HTCAPTION = 2

    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
                 (ByVal hwnd As Integer, ByVal wMsg As Integer, _
                  ByVal wParam As Integer, ByVal lParam As String) As Integer
    Private Declare Sub ReleaseCapture Lib "user32" ()

    'Déplacement de la PictureBox

    Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
        Dim lHwnd As Int32
        lHwnd = PictureBox1.Handle
        If lHwnd = 0 Then Exit Sub
        ReleaseCapture()
        SendMessage(lHwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
    End Sub


Merci

Julien
A voir également:

1 réponse

Deadly-Smurf Messages postés 74 Date d'inscription jeudi 15 août 2013 Statut Membre Dernière intervention 1 juin 2016 7
Modifié par Deadly-Smurf le 17/08/2013 à 19:44
Bonjour Julien,

Il y as possibilité de déplacée les label à la souris en utilisant l'événement "Mouse Down" et "Mouse Move", tu devrais écrire quelque chose comme sa:

 Private Sub Label1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Label = e.Location
        End If
    End Sub



    Private Sub Label1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseMove
        If e.Button = Windows.Forms.MouseButtons.Left Then
            Me.Location += e.Location - Label
        End If
    End Sub


Ah oui si tu as une erreur au niveau de "Label" tu doit généré un stub de propriété, en cliquant dessus sa te le dit normalement.
Apres tout en haut de tes code tu es censé voir marque un truc comme quoi Label1 est un point.

En espérant t'avoir était utile :)

"L'habit ne fait pas le moine" avant de juger quelqu'un, apprend à le connaître ... Baka !
0