Bonjour à tous

J'ai un probleme avec la création d'un bouton "personnalisé", descendant de TCustomControl (donc de TWinControl, pour le focus, le handle et le doublebuffered entre autres) ... Et j'ai un probleme avec le focus ...

Je n'arrive pas à faire en sorte qu'il le prenne tout seul, le seul moyen c'est de faire un SetFocus par une autre procedure, aucun interet donc ...

J'ai essayé de rajouter le message
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
...
private
  procedure CMFocusChanged(var Msg: TMessage); message CM_FOCUSCHANGED;
...
 
procedure CMFocusChanged(var Msg: TMessage);
begin
  inherited;
  ShowMessage('FocusChanged');
  If Focused Then
    ShowMessage('Focused');
end;
Mais pareil, le code de la procedure (au complet, que ce soit avant ou apres le If) n'est appellé que part un SetFocus, jamais quand je clic sur mon bouton ... Aucun message donc ..

Par ailleurs si je pose plusieurs composants sur ma form avec mon bouton personnalisé, quand je fais tab il ne prend jamais le focus

Comment faire pour gérer le focus d'un composant maison :

Merci par avance

Ingham

Edit: En rajoutant TabStop := True dans le Create de mon composant, j'arrive a lui faire gagner le focus avec Tab, mais lorsque j'y clic dessus il ne le prend toujours pas G du rater quelque chose