cs_HANNS
Messages postés17Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention14 novembre 2007
-
10 nov. 2007 à 23:11
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
12 nov. 2007 à 07:18
Hello
Sur l’événement scroll d’un slider est il possible lors de l’utilisation des touches flèche droite, flèche gauche de respecter les valeurs Max et Min de mon slider ?
Merci
Hanns
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 12 nov. 2007 à 07:18
pour plus de détails, disons que ce n'est pas "ce qui touche une action sur le clavier" mais "ce qui interagit avec ton contrôle par le clavier"
la différence est dans le fait que presque tous les contrôles sont basés sur la même structure d'évènements, et que tu n'as la main que sur UNE INSTANCE D'UN CONTRÔLE à la fois.
selon la manière dont ce contrôle est fait, le fait de gérer (ou de sous-gérer si on peut dire) un évènement peut où non avoir une répercution sur les autres évènements.
exemple de l'objet Form, le fait de mettre Cancel à True dans le Unload_Query, tu ne passes pas par le UnLoad. il y a une répercution.
ici (slider) le fait de ne pas renvoyer d'évènement (ou plutôt de ne pas faire d'action lorsque l'évènement a été relevé) si on a atteint les valeurs min ou max n'influe pas sur le fait quel l'évènement Scroll aura tout de même lieu
bienvenue
ps : pense au bouton Réponse Acceptée
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 11 nov. 2007 à 02:46
Private Sub
Form_Load()
Slider1.Min = -90
Slider1.Max = 90
Slider1.Value = 0
End Sub
Private Sub Slider1_KeyDown(KeyCode As Integer, Shift As Integer)
' on va concerver l'ancienne valeur pour éviter les
doublons
Static OldValue As Integer
Static NewValue As Integer
OldValue = NewValue
NewValue = Slider1.Value
If Not (OldValue = NewValue) Then
Debug.Print Timer & " " & Slider1.Value
'ELSE
' MÊME VALEUR, ON NE
FAIT RIEN
End If
End Sub
cs_HANNS
Messages postés17Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention14 novembre 2007 11 nov. 2007 à 03:10
Merci Monsieur PCPT
Cela n'a par changé La valeur Max ou Min est toujours envoyé tant que je maintien la pression sur la touche !
Je penses pas qu’il y avait des modifications a apporter sur votre code tous me semble ok, non du contrôle ex…
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 11 nov. 2007 à 03:17
"non du controle ex" ? na moi pas comprendre....
sinon j'ai testé avant de poster, un seul envoi effectué arrivé au min et/ou au max, essaye dans un nouveau projet au cas où tu aurais un bout de code qui altèrerait celui-ci
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_HANNS
Messages postés17Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention14 novembre 2007 11 nov. 2007 à 13:44
Hello
Voila un test simple !
Sur ma form j’ai posé les contrôles suivants :
AfUrbiSock nommé AfUrbiSock1
2 textbox nommés TextBoxIp et TextBoxPort
Un bouton nommé Command1
Un slider nommé Slider1
Le code :
Private Sub Command1_Click()
If AfUrbiSock1.State = sckConnected Then
AfUrbiSock1.SocketClose
Else
AfUrbiSock1.RemoteHost = TextBoxIp.Text
AfUrbiSock1.RemotePort = CLng(TextBoxPort.Text)
AfUrbiSock1.SocketConnect
End If
End Sub
Private Sub Form_Load()
AfUrbiSock1.Mode = [Urbi Client]
Slider1.Min = -90
Slider1.Max = 90
Slider1.Value = 0
End Sub
Private Sub Slider1_KeyDown(KeyCode As Integer, Shift As Integer)
' on va concerver l'ancienne valeur pour éviter les doublons
Static OldValue As Integer
Static NewValue As Integer
OldValue = NewValue
NewValue = Slider1.Value
If Not (OldValue = NewValue) Then
Debug.Print Timer & " " & Slider1.Value
'ELSE
' MÊME VALEUR, ON NE FAIT RIEN
End If
End Sub
Private Sub Slider1_Scroll()
AfUrbiSock1.ValueMessage = "test" & "=" & Slider1.Value & ";"
AfUrbiSock1.SocketSendData
End Sub
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 11 nov. 2007 à 14:19
parce que tu utilises 2 évènements simultanés!
tu demandes comment gérer au keydown mais tu envoies au scroll?!!!!
pas très logique tu ne crois pas?
Private Sub Command1_Click()
If AfUrbiSock1.State = sckConnected
Then
AfUrbiSock1.SocketClose
Else
AfUrbiSock1.RemoteHost = TextBoxIp.Text
AfUrbiSock1.RemotePort = CLng(TextBoxPort.Text)
AfUrbiSock1.SocketConnect
End If
End Sub
Private Sub Form_Load()
AfUrbiSock1.Mode = [Urbi Client]
Slider1.Min = -90
Slider1.Max = 90
Slider1.Value = 0
End Sub
Private Sub Slider1_KeyDown(KeyCode As Integer, Shift As Integer)
' on va concerver l'ancienne valeur pour éviter les doubles
envois
Static OldValue As Integer
Static NewValue As Integer
OldValue = NewValue
NewValue = Slider1.Value
If Not (OldValue = NewValue) Then
AfUrbiSock1.ValueMessage = "test=" & NewValue & ";"
AfUrbiSock1.SocketSendData
End If
End Sub
++
PCPT [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
cs_HANNS
Messages postés17Date d'inscriptionmardi 6 novembre 2007StatutMembreDernière intervention14 novembre 2007 12 nov. 2007 à 00:41
Je voulais gérer depuis le scroll pour que l’action de mon Aibo se produise quand je bouge la sourie.
Je pensais que ce qui touchait une action sur le clavier devait être paramétré dans l’événement KeyDown, KeyPress ou KeyUp.
Votre code agit directement sur le slider, je ne l’avais pas compris DSL.
Merci pour ces explications.
J’ai installé vb il y a 4 jours je découvre le monde de la prog.Je comprends mieux les heures que peut y passer mon père. <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>