SnapFAB
Messages postés61Date d'inscriptionsamedi 10 novembre 2007StatutMembreDernière intervention 5 mars 2011
-
1 déc. 2007 à 13:11
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 2016
-
1 déc. 2007 à 19:17
Bonjour tout le monde !
J'ai encore un gros problème de débutant et après plusieurs recherches sur le forum et google je n'ai toujours pas trouvé de solution.
Donc voilà, j'ai une form avec plusieurs CommandButton nommer "Button1", "Button2", "Button3" ...
J'ai un Textbox nommer "Text1", et donc j'aimerai que le texte de mon textbox (text1.text=) récupere le focus actif. C'est à dire si le focus se trouve sur le Button2 j'aimerai l'affichage dans mon text1 de : "Button2".
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 1 déc. 2007 à 17:43
non...non...Il pauser sur ta form un contrôle Timer, tu doubleclick sur le contrôle et tu ajoutes le code donné...Dans ses propriétés du définit Interval = 100
SnapFAB
Messages postés61Date d'inscriptionsamedi 10 novembre 2007StatutMembreDernière intervention 5 mars 2011 1 déc. 2007 à 15:20
Je suis bien sur VB6 mais j'ai encore des sales manies de VBA dans la tête... (parfois ça marche bien ;-)
J'ai bien comrpis ta ligne de commande avec le GotFocus et effectivement elle marche mais j'ai du mal formuler ma question.
Car par la suite sur la même form je vais avoir 50 CommandButton, et avec ce code je vais donc devoir taper 50 private sub Command"x"_GotFocus.
Je cherche en faite un code qui permet de recuperer ActiveControl.Name à n'importe quel moment dans mon textbox et que mon textbox ce mette automatiquement à jour lors d'un changement de focus.
J'espère avoir été un peu plus clair.
En tout cas merci.
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 1 déc. 2007 à 17:15
Salut exploreur...
Pas vraiment besoin d'un timer dès lors qu'il s'agit d'un bouton ayant le focus (et donc étant forcément passé par l'évènement GotFocus qui, lui, met à jour la textbox)
Si maintenant le fait d'avoir quelquechose du genre "toto(3)" dans la textbox n'est pas très "parlant", rien n'interdit alors d'utiliser la propriété tag pour y mettre du "plus parlant" et de l'utiliser ainsi :
Private Sub Command1_GotFocus(Index As Integer)
text1.text = activecontrol.tag
End Sub
ou même du plus complet (les 2) :
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 1 déc. 2007 à 17:26
Salut Jmfmarques,
Je suis tout à fait d'accord avec toi , c'était pour qu'il ne tape pas 50 fois : text1.text = activecontrol.tag, si ses boutons ne sont pas indéxés....
Personnelement, l'avantage que j'ai trouvé au timer, c'est qui ne se souçi de rien au niveau du code...Au pire, dans son apllication il enclenche le timer ou pas...
SnapFAB
Messages postés61Date d'inscriptionsamedi 10 novembre 2007StatutMembreDernière intervention 5 mars 2011 1 déc. 2007 à 17:39
Salut Exploreur, Re Jmfmarques
Exploreur t'as bien compris ce que je voulais, ne pas retaper 50 fois text1.text...
Ton idée semble beaucoup me plaire, mais malheureusement ça marche toujours pas
et donc toujours le même message d'erreur : "Object
variable or With block variable not set"
Mon problème de débutant : Quand dois je
lancer ta sub "Private Sub Timer1_Timer()" ?
Pour l'instant je l'ai lancer au Load de <st1:personname productid="la Form" w:st="on">la Form</st1:personname> ... ("Private Sub Form_Load()")