VB6 Bouger une fenêtre

Résolu
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008 - 27 avril 2008 à 20:21
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008 - 27 avril 2008 à 22:37
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 avril 2008 à 20:42
- 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
3
Utilisateur anonyme
27 avril 2008 à 21:33
Ou la méthode par API :
http://www.codyx.org/snippet_deplacer-forme-sans-barre-titre_23.aspx#68

__________
  Kenji
3
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
27 avril 2008 à 22:37
Si c'est bon ça marche merci c'est juste que je devais le renommer en Picture1 Merci à vous
3
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
27 avril 2008 à 20:48
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 avril 2008 à 20:54
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
0
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
27 avril 2008 à 21:44
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
0
Rejoignez-nous