Probleme changer Top et Left ...

leptigwen Messages postés 2 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 17 mai 2008 - 19 nov. 2005 à 20:21
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 - 20 nov. 2005 à 23:01
Slt, je voudrais changer le Top et le Left d'une picture en appuyant sur les touches.Je suis débutant.
Voici le code que j'ai mis

Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode 37 Then Picture1.Left Left + 20If KeyCode 38 Then Picture1.Top Top + 20If KeyCode 39 Then Picture1.Left Left - 20If KeyCode 40 Then Picture1.Top Top - 20
End Sub

merci

10 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 nov. 2005 à 20:37
salut,
t'as pas beaucoup cherché, si? :-$

voici en VB6


Option Explicit
'
'
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
'
'
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
With Picture1
Select Case KeyCode
Case vbKeyLeft: .Left = .Left - 100
Case vbKeyUp: .Top = .Top - 100
Case vbKeyRight: .Left = .Left + 100
Case vbKeyDown: .Top = .Top + 100
End Select
End With
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>

++
PCPT [AFCK]
0
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
19 nov. 2005 à 20:37
en fait il faut déclarer l'évènement au niveau de la form

de plus fait attention dans les signes. et également n'oublie que c'est
les coordonnées top et left du picture box que tu manipule

quand tu écris Picture1.Top = Top + 20 en fait ca va mettre le top de ta form +20.



voici mon code en vb.net mais en vb6 y a pas grand chose qui change


Private Sub Picture1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

If e.KeyCode 37 Then PictureBox1.Left PictureBox1.Left - 20

If e.KeyCode 38 Then PictureBox1.Top PictureBox1.Top - 20

If e.KeyCode 39 Then PictureBox1.Left PictureBox1.Left + 20

If e.KeyCode 40 Then PictureBox1.Top PictureBox1.Top + 20

End Sub



Vincent
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
19 nov. 2005 à 21:10
re,
on ne déplace pas un objet avec les flèches dans ce cas de figure en reprenant ses coordonnées à la pression, puisqu'il peut perdre le focus, mais bien sur la Form!
++
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
20 nov. 2005 à 19:53
pcpt, c'est juste mais à quoi sert keypreview ?

Redman
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 nov. 2005 à 20:02
tu poses cette question alors que tu affirmes sur un autre post que cette propriété existe sous 2005, qu'elle est en rapport avec un problème énoncé, et tout çà sans avoir toi-même 2005 ?
étrange VbFrance ces derniers temps.....

KeyPreview permet à la Form de recevoir les touches pressées avant l'objet contenu les nécessitants.
exemple, un TxtBox, la Form recevra alors les caractères saisis avant leur affichage....

ps : LePtiGwen -> pense à clotûrer ton topic en validant la ou les réponses résolvant ton problème

++
PCPT [AFCK]
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
20 nov. 2005 à 20:10
Je pensais que le KeyPreview était pour les MenuItem control pour leur shortcut, mais les KeyPreview comme tudis ne servent à rien pusique il suffit de presser les touches pour que ca marche !

Redman
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 nov. 2005 à 22:03
au code donné, ajoute une TxtBox et enlève le KeyPreview. la Picture ne bougera pas.
ce n'est pas parce que tu découvres une option ou une lacune que "çà sert à rien" ....
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
20 nov. 2005 à 22:18
Je pensais pas que ca faisait ca ! Désolé !

Redman
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 nov. 2005 à 22:23
sauf erreur mais sinon, je ne l'aurais pas mis sans raison!
donc mieux vaut demander ou vérifier avant d'affirmer que çà ne sert à rien, sans savoir!

pas de mal.
bonne continuation
PCPT [AFCK]
0
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
20 nov. 2005 à 23:01
Merci PCPT

Redman
0
Rejoignez-nous