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

Soyez le premier à donner votre avis sur cette source.

Vue 3 608 fois - Téléchargée 322 fois

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

Ajouter un commentaire

Commentaires

cs_Sipadan
Messages postés
125
Date d'inscription
lundi 5 août 2002
Statut
Membre
Dernière intervention
23 novembre 2011
-
Pardon Leptidev, je t'avais mal compris ton "affiche ton code".Désolé.
cs_Koiu
Messages postés
269
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
19 février 2015
-
oueeeeeeeeeeeeeeeech!!!

Private Sub Quitter_Click()
RTB.Text = Command1.Top + Chr(13) + Command1.Left
RTB.SaveFile ("bouton.txt")
End Sub

Private Sub Form_Load()
RTB.LoadFile ("bouton.txt")
End Sub


Bon allez ça va.....
Je n'ai pas telechargé ta source, mais je suis sur que c'est un truk dans ce genre la.........
Allez bye
leptidev
Messages postés
206
Date d'inscription
mercredi 30 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2007
-
Ca va, pas trop dure ta source ???? quand tu ajoutes juste une fonction supplémentaire sur une source, met la sur les commentaires, ne cré pas ta source toi même, surtout en ne disant pas que t'a rien fait.

Bon esprit de prog, je met 1/10 pour la peine, et j'espère bien que les autres auront le même jugement que moi sur les gars de ton genre.

A bon entendeur

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.