Déplacer un controle en dragdrop et garder la position en mémoire

Description

Suite au commantaire que j'ai laissé sur la source de leptidev http://www.vbfrance.com/article.aspx?Val=5998
J'ai donc repris sa source et j'ai rajouter la fonction de sauvegarde de la position.
En bref, on déplace un bouton, et un timer enregistre la position dans un fichier.
A la réouverture du form le bouton est à la position ou on l'avait laissé à la fermeture du form.

Source / Exemple :


'variables TEMPORAIRES
Dim xTemp, xTemp2 As Long
Dim yTemp, yTemp2 As Long

'form ou un autre conteneur
Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move X - xTemp, Y - yTemp
End Sub

'Si on drag sur l'objet
Private Sub command1_DragDrop(Source As Control, X As Single, Y As Single)
Source.Move xTemp2 + X - xTemp, yTemp2 + Y - yTemp
End Sub

'Et votre objet à déplacer
Private Sub command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Command1.Drag
xTemp = X
yTemp = Y
xTemp2 = Command1.Left
yTemp2 = Command1.Top
End Sub
Private Sub form_load()
On Error Resume Next
' Declare la variable Var1
Dim Var1
Dim Var2
'Ouvre le fichier
Open App.Path & "\Log.log" For Input As #1
'Lit la première ligne et la place dans Var1
Input #1, Var1
Input #1, Var2
'Ferme le fichier
Close #1
'a l'ouverture du form commande1 reprend la position enregistré dans le fichier
Command1.Left = Var1
Text1.Text = Var1
Command1.Top = Var2
Text2.Text = Var2
End Sub

Private Sub Timer1_Timer()
Text1.Text = Command1.Left
Text2.Text = Command1.Top
'j'enregistre dans le fichier log.log la valeur left et top de command1
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(App.Path & "\Log.log", True)
a.WriteLine Text1.Text
a.WriteLine Text2.Text
a.Close
End Sub

Codes Sources

A voir également

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.