2010-10-26 15 views
3

J'utilise delphi XE. Je développe un composant qui vient de TPanel. TApGUITab=class(Tpanel) J'ai manipulé l'événement de clé vers le bas en manipulant le message de WMKeyDown, mais il n'est pas appelé quand j'appuie sur les touches de direction et place le focus à un autre contrôle au lieu d'appeler l'événement. Que dois-je faire maintenant?Comment puis-je gérer les touches fléchées dans un composant personnalisé dans Delphi?

+0

Etes-vous sûr de vouloir quitter TPanel? Normalement, lorsque vous développez des contrôles personnalisés (fenêtrés), vous les laissez descendre de 'TCustomControl'. –

Répondre

4

C'est facile. Répondez simplement au message WM_GETDLGCODE et renvoyez

Message.Result := Message.Result or DLGC_WANTCHARS or 
            DLGC_WANTARROWS or DLGC_WANTTAB or 
            DLGC_WANTALLKEYS; 
+0

Merci mon pote. Juste la bonne réponse. – javid