Faire une grille magnétique

Résolu
BadoqueAlex
Messages postés
129
Date d'inscription
mardi 20 juillet 2004
Statut
Membre
Dernière intervention
6 juin 2009
- 22 mai 2008 à 12:20
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
- 22 mai 2008 à 20:19
Bonjour,

J'ai un petit problème sur lequel je bloque depuis 3 jours :(
J'ai créé un code pour pouvoir bouger mes controles au runtime. Cependant, je ne sais pas comment faire pour que lorsque je bouge mes controles, ils soient alignés sur une grille.
J'ai regardé sur le net et je ne trouve pas de code comme ca :(

Y'a t'il un pilote dans l'avon pour m'aider ?

6 réponses

Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
22 mai 2008 à 15:41
Si tu utilise cette méthode pour déplacer tes contrôles :
http://www.codyx.org/snippet_deplacer-objet-dans-formulaire_41.aspx#125

Dim x, y As Integer
Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseDown
  If e.Button = MouseButtons.Left Then
    x = e.X
    y = e.Y
  End If
End Sub
Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles PictureBox1.MouseMove
  If e.Button = MouseButtons.Left Then
    PictureBox1.Left += ((e.X - x) \ 32) * 32
    PictureBox1.Top += ((e.Y - y) \ 32) * 32
  End If
End Sub

__________
  Kenji
3
jimy neutron
Messages postés
491
Date d'inscription
mercredi 1 février 2006
Statut
Membre
Dernière intervention
18 novembre 2016
1
22 mai 2008 à 12:59
Salut,

Je n'ai pas la solution, mais peut-être une idée:

Si le TOP d'un control est egal à , par exemple, 3280, le forcer à être egale à la centaine superieurek, soit 3300, si il est égal à 4230, le forcer à être égale à 4200, c'est en gros ignorer les dixaines...(Idem pour le LEFT)

Ca te creera une grille virtuelle.

Jimy
0
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
22 mai 2008 à 13:00
Salut,

Au moment de déplacer ton contrôle, tu divise ses coordonnées par la taille de ta grille, tu en garde que la partie entière et tu remultiplie pas la taille de ta grille.

__________
  Kenji
0
BadoqueAlex
Messages postés
129
Date d'inscription
mardi 20 juillet 2004
Statut
Membre
Dernière intervention
6 juin 2009

22 mai 2008 à 15:34
Je n'y arrive pas avec la méthode de Charles Racaud. Il serait possible d'avoir exemple ?
0

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

Posez votre question
BadoqueAlex
Messages postés
129
Date d'inscription
mardi 20 juillet 2004
Statut
Membre
Dernière intervention
6 juin 2009

22 mai 2008 à 19:44
Merkiiii ca fonctionne :) Mais une dernière chose : Comment vérrifier qu'un controle est bien aligné sur la grille ? verrifier si ses coordonnées sont multiples de 32 ?
0
Charles Racaud
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
35
22 mai 2008 à 20:19
Exactement

__________
  Kenji
0