Ex. concrets ! deplacer une form avec la methode du clique-tire

Soyez le premier à donner votre avis sur cette source.

Snippet vu 2 821 fois - Téléchargée 41 fois

Contenu du snippet

Cette série de noyaux de code ou d'outils, peuvent être utilisés pour créer des programmes entiers, beaucoup plus simplement.
Très peu sont directement de moi, mais souvent décortiqués afin de les rendre beaucoup plus compréhensible et simple de ré-utilisation.

Source / Exemple :


'Copiez-collez ce code dans une de vos form et testez !

Private Down As Integer, DepartX As Integer, DepartY As Integer

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Down = True
    DepartX = X
    DepartY = Y
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Down = True And Button = 1 Then
        If X > DepartX Then
            Form1.Left = Form1.Left + Abs((X - DepartX))
        ElseIf X < DepartX Then
            Form1.Left = Form1.Left - Abs((X - DepartX))
        End If
        
        If Y > DepartY Then
            Form1.Top = Form1.Top + Abs((Y - DepartY))
        ElseIf Y < DepartY Then
            Form1.Top = Form1.Top - Abs((Y - DepartY))
        End If
    End If
    
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Down = False
End Sub

A voir également

Ajouter un commentaire

Commentaires

Messages postés
21
Date d'inscription
mardi 17 juillet 2001
Statut
Membre
Dernière intervention
19 août 2007

Il y a un moyen plus simple pour déplacer un object :

'Placer dans une feuille ou un module...

Public Mx As Single
Public My As Single

Public Function Mover(Frm As Object, Button As Integer, X As Single, Y As Single)
With Frm
If Button = vbLeftButton Then
.Move .Left + (X - Mx), .Top + (Y - My)
Else
Mx X: My Y
End If
End With
End Function

Dans la feuille active...

Exemple : Dans la section MyObject_MouseMove de l'objet
private sub MyObject(Index as integer,Button as Integer,Shift as integer,X as integer, y as single)
Mover MyObject(Index),Button,X,Y
end sub

'Vous permet de déplacer tous les objects d'un projet
'avec une seule ligne de commande

Bonne programmation à tous...
Messages postés
190
Date d'inscription
lundi 24 mars 2003
Statut
Membre
Dernière intervention
27 septembre 2005

Je teste a l'instant ta source

Super et en plus tres simple

ça vaut largement 10/10

A+
Messages postés
138
Date d'inscription
samedi 11 mai 2002
Statut
Membre
Dernière intervention
17 mai 2007

heu ! Je ne me rappelle plus, mais a la base, j'étais parti d'une simplefication de programme qui ne contenait pas que ça, et j'avais du modifier, donc c'est pas totalement moi qui k'est fait !
Messages postés
245
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
21 juin 2004

ça ma bien servi ta source :p
je savé mem pas ke CT toi ki l'AV fé !

Allez 10/10

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.