bonjour,
je ne trouve pas la propriété qui permet, lorsque l'on tape sur la touche entrée, de clicker sur un bouton précis.
(ex: google : un TEdit pour taper les mots à chercher, puis quand on tape sur entrée on lance la recherche)
ludo
bonjour,
je ne trouve pas la propriété qui permet, lorsque l'on tape sur la touche entrée, de clicker sur un bouton précis.
(ex: google : un TEdit pour taper les mots à chercher, puis quand on tape sur entrée on lance la recherche)
ludo
Dans le OnKeypress de ton TEdit tu teste si la touche est entrée (#13)
et tu lances la procédure du OnClick de ton bouton
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Procedure TForm1.MonTEdit1OnKeyPress(Sender: TObject; var Key: Char); Begin If Key = #13 Then BtClick(Self); End;
ne confond pas Focus, Click et Gestionnaire de l'Evènement OnClick (ce que tu utilise DragonHeart est l'event pas la procédure click ...)
d'ailleurs, on ne peut pas faire plus simple MyButton.Click(); .. c'est quand même facile !
Ensuite Mettre Self comme Sender est faux, il vaut mieux mettre le Bouton, car si on a le même event pour plusieurs boutons (création dynamique) et que c'est le tag qui détermine le comportement ...
Petite remarque:
N'oublie pas de mettre KeyPreview de ta fiche à true pour qu'elle intercepte l'appui des touches avant les autres contrôles
Salut
Il y a aussi les propriété Default et Cancel sur les boutons.
Le bouton qui a defaut à True sera appelé avec Entrée.
Celui qui a cancel à True sera appelé par Echap.
Bonjour,
A propos de la confusion avec Focus : J'ai jamais pigé l'intérêt dans le type TButton de pouvoir faire Button1.SetFocus vu qu'il suffit de cliquer sur un bouton pour l'activer et vu que Button1.SetFocus donne le focus à Button1 sans neutraliser les autres Buttons éventuellement présents???
Salut
Il y a une différence très nette entre donner le focus et déclencher un click sur un bouton.
Ou ai-je mal saisi ta question !
SetFocus c'est un comportement du TWinControl, le Bouton étant un composant Window, il le récupère naturellement ... maintenant, à part du confort utilisateur au clavier, je me pose aussi la question de son utilité, car effectivement tu peux vouloir guider ton utilisateur en mettant le focus sur tel ou tel bouton de l'écran selon les actions précédentes ... tout en lui laissant lui même faire le clic ...
Je crois comprendre !!!
Si le bouton en question a le focus, l'appui sur la touche espace ou enter déclenche le click.
C'est peut-être le seul intérêt, tombé en désuétude depuis qu'on manie le mulot.
@+
=)
aucun intéret (ou quasiment) je suis d'accord...
juste que je voulais le faire ainsi et que la propriété m'avait échappée...
merci pour vos réponses et commentaires!
ludo
Vérification faite : Si le Button1 a le focus, l'appui sur la touche BarreEspace ou Enter déclenche effectivement la procedure TForm1.Button1Click(Sender: TObject) ... et en plus cela peut permettre de guider un utilisateur en phase d'apprentissage de prise en main d'une appli. Enfin pigé l'intérêt. Merci.
... donc si Ludo_360 utilise un TEdit pour taper les mots à chercher, et à côté un TButton, quand on tape sur Entrée on lance la recherche avec la procedure TForm1.Button1Click(Sender: TObject) ... et en plus cela évite d'avoir à coder le test de TForm1.MonTEdit1OnKeyPress.
... Claudius, c'est quoi le mulot?... tombé en désuétude depuis qu'on manie le mulot
Mulot = Souris, je suppose que tu plaisantais.Envoyé par Gilbert Geyer
A Claudius : "Mulot = Souris" Merci pour l'info mais je ne savais pas ... assez dur de piger le vocabulaire informatique dans le style Wm_NCHITTEST bien qu'il y ait des fonctions de recherche pour trouver ... donc pour l'argot de l'informatique y'a qu'en posant les questions.
Par contre Ludo_360 m'avait pris de vitesse en ajoutant le tag "Résolu" après son message "aucun intéret" je crois qu'il n'a pas bien pigé l'intérêt du TButton en rapport avec sa question.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager