2010-11-05 4 views
1

Imaginez que nous ayons un formulaire avec deux boutons dessus. Je cours l'application et je clique sur le premier bouton. rien ne se passe et aucun rectangle de mise au point n'est affiché. Mais quand j'appuie sur une touche, elle affiche un rectangle de mise au point sur le bouton et même si je clique sur le second, il déplace le rectangle de mise au point dessus. Il n'affiche donc pas le rectangle de mise au point à moins que j'appuie sur une touche. Je crée mon propre composant et j'ai besoin de savoir si je devrais ou non afficher le focus rect pour le dessiner. Comment je le connais?Vérifiez si le focus Rect est requis (Delphi)

Répondre

1

Je pense que ce n'est pas censé afficher le rectangle de focus par défaut, jusqu'à ce qu'un accélérateur de clavier soit utilisé. Lire UI State sur MSDN, qui suggère WM_QUERYUISTATE devrait être utilisé pour déterminer si les accélérateurs de clavier ou les indicateurs de mise au point doivent être dessinés ou non.