VB6 Bouger une fenêtre [Résolu]

Signaler
Messages postés
94
Date d'inscription
jeudi 7 décembre 2000
Statut
Membre
Dernière intervention
27 mai 2008
-
Messages postés
94
Date d'inscription
jeudi 7 décembre 2000
Statut
Membre
Dernière intervention
27 mai 2008
-
Bonjour j'ai recherché sur le site mais je n'ai pas eu la réponse à ma question donc je vous pose la question à vous :)
J'ai déjà posé une autre question mais comme j'ai vu qu'il fallait poser une question précise par poste je pose mon autre question.
Alors en fait j'ai créé un programme en VB6 et comme je n'ai pas mis de cadre à ce programme (BorderStyle = 0) j'ai mis une image à la place. Seulement quand je compile mon programme je m'aperçoit que je ne peux déplacer la fenêtre avec la souris. Vu que je suis un débutant je vous demande de l'aide et je voudrais savoir comment faire pour pouvoir faire en sorte que ma fenêtre soit 'bougeable' ? Merci à vous de bien vouloir me répondre :)

6 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
- Sur l'appui du bouton de la souris sur la form : Mémorisation de la position actuelle de la souris et de la form
- Sur mouvement de la souris : Si le bouton est toujours enfoncé : calcul de la nouvelle position de la form par rapport au déplacement de la souris

Exemple :

----
Option Explicit

Dim mouseL As Integer
Dim mouseT As Integer
Dim formL As Integer
Dim formT As Integer

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   
   If Button = 1 Then
       mouseL = X
       mouseT = Y
       formL = Me.Left
       formT = Me.Top
       DoEvents
   End If

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   
   If Button = 1 Then
       Me.Left = formL - (mouseL - X)
       Me.Top = formT - (mouseT - Y)
   End If

End Sub

, ----
, ----
[code.aspx?ID=41455 Coloration Syntaxique pour VB6 By Renf]

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Ou la méthode par API :
http://www.codyx.org/snippet_deplacer-forme-sans-barre-titre_23.aspx#68

__________
  Kenji
Messages postés
94
Date d'inscription
jeudi 7 décembre 2000
Statut
Membre
Dernière intervention
27 mai 2008

Si c'est bon ça marche merci c'est juste que je devais le renommer en Picture1 Merci à vous
Messages postés
94
Date d'inscription
jeudi 7 décembre 2000
Statut
Membre
Dernière intervention
27 mai 2008

Waouh ! Vu que je débute en vb6 je n'ai pas tout compris mais en tout cas merci de ton aide.
Vu aussi que je suis un débutant j'ai copié coller votre code mais ça ne marche pas... Auriez-vous une idée ?
merci à vous
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
c'est quoi qui marche pas, chez moi ça marche

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
94
Date d'inscription
jeudi 7 décembre 2000
Statut
Membre
Dernière intervention
27 mai 2008

j'ai copié collé les deux méthodes que vous m'avez donné mais ça ne marche pas les deux... quand je clique avec la souris pour bouger la fenêtre ça ne marche pas... Peut-être parce que j'ai mis 2 images ?
voilà ce que ça donne :

Option Explicit

Dim mouseL As Integer
Dim mouseT As Integer
Dim formL As Integer
Dim formT As Integer
________________________________________________________________________

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  
   If Button = 1 Then
       mouseL = X
       mouseT = Y
       formL = Me.Left
       formT = Me.Top
       DoEvents
   End If

End Sub
________________________________________________________________________

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  
   If Button = 1 Then
       Me.Left = formL - (mouseL - X)
       Me.Top = formT - (mouseT - Y)
   End If

End Sub

Peut-être à cause des 2 images non ? Merci de votre aide en tout cas