Comment gerer la focus de mon composant(bouton)

Résolu
N_M_B Messages postés 94 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 1 mars 2008 - 4 juil. 2006 à 00:37
N_M_B Messages postés 94 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 1 mars 2008 - 6 juil. 2006 à 21:55
Bonjour a tous
Avec delphi 7
je voudrais savoir comment gerer le focus de mon composant ?, j'ai bien pu réagire au message CM_FOCUSCHANGED et au mouse down mais il reste encore un problème avec la tabulation car mon composant ne reprend pas le focus si il y'a un TButton ou autre compo focalisable sur la fiche je pence qui manque quelque chose genre taborder ou tabstop mais je suis pas sure .
je voudrais tout simplement un petit bout de code example (si possible commenté ) pour pouvoir gerer correctement le focus .

Merci a tous et bonne continuation  @+

N*M*B

11 réponses

N_M_B Messages postés 94 Date d'inscription mardi 9 mai 2006 Statut Membre Dernière intervention 1 mars 2008
6 juil. 2006 à 02:41
Bon  en résumé on doit tout d'abord intercepter le message CMFOCUSCHANGED on déclare la procedure comme ceci: procedure CMFocusChanged(var Message: TMessage); message CM_FOCUSCHANGED;  pour faire un ivalidate dedans puis
dans la procedure paint  on pose la condition if focused then drawfocusrect() ou autre déssin pour différencier l'état normal et l'état focusé
enfin on ajoute les propriétées hérités ->
 published
   property tabstop ;
   property taborder;
et de préférence on initialise tabstop a true dans le constructeur de classe du composant et cela devrais marcher(je pense ) 
P.S: grand merci a  ThWilliam qui a pris le temps de me répondre et pour ses commentaires @+

N*M*B
3
Rejoignez-nous