Odrconcept
Messages postés51Date d'inscriptionlundi 10 janvier 2005StatutMembreDernière intervention 9 août 2007
-
6 mars 2007 à 22:15
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 2014
-
7 mars 2007 à 08:48
comment savoir sur quel control le curseur est t'il
je precise :
pas la cuseur de la souri mais du focus du control
ex:
3 textbox, je vaudrais savoir avec un for ou do loop sur quel control est le focus
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 6 mars 2007 à 22:30
Activecontrol.name à placer dans le gotfocus de chaque contrôle, si tu ne veux le faire que contrôle par contrôle
Mais si par contre tu veux que la "chose" tourne en permanence, il te faut un timer et :
code :
Private Sub Form_Load()
Timer1.Interval = 300
End Sub
Private Sub Timer1_Timer()
Static toto As String
If toto <> ActiveControl.Name Then
MsgBox ActiveControl.Name
DoEvents
End If
toto = ActiveControl.Name
DoEvents
End Sub
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 6 mars 2007 à 23:10
Il ne s'agit pas d'une fonction mais d'un événement subi (le click)
Et par définition, si tu es dessus, tu y es parvenu soit par un setfocus, soit par le focus à lui donné par utilisation de ta touche tab, soit enfon en cliquant dessus.
Cliiquer maintenant sur une textbox sans ruen faire d'autre me parait surprenant, mais ma fois, si tu le veux, ce serait tout bêtement Text1_click pour déclencher ce que tu as mis dans text1_click.
Mais vraiment, je vois mal ce que tu cherches à faire, là.... Ce serait un peu comme appeler Pierre au téléphone pour lui demander quel est son numéro de téléphone !!!
J'ai l'impression que tu t'égares... je ne sais où ni comment...
Tu devrais expôser ton problème de A à Z car là ...
..
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 7 mars 2007 à 08:48
Vu !
Tu devrais tout simplement te servir d'un groupe de textboxes indéxées !
Text1(0) et Text1(1) au lieu de Text1 et Text2
et tu joues ensuite avec les index ...
Regarde ce truc que je viens de fabriquer et comprends comment il fonctionne :
Private toto As Integer
Private Sub Form_Load()
toto = 9999
End Sub
Private Sub Text1_Click(Index As Integer)
MsgBox "tu as cliqué sur Text1(" & Index & ")"
End Sub
Private Sub Timer1_Timer()
If ActiveControl.Name <> "Text1" Then Exit Sub
If toto <> ActiveControl.Index Or toto = 9999 Then
MsgBox "tu es dans Text1(" & ActiveControl.Index & ")"
DoEvents
Text1_Click (ActiveControl.Index)
DoEvents
End If
toto = ActiveControl.Index
DoEvents
End Sub