Bonjour,
Je travaille avec une CListCtrl et, dans certains cas, j'amerais empêcher l'utilisateur de descendre ou de monter d'une ligne si une condition n'est pas remplie. Je fais ceci:Ma touche de direction est bien bloquée mais, les fois suivantes où la condition est remplie, le curseur saute une ou plusieurs lignes et passe donc des items où le test n'a pas été effectué. J'en conclus que si la touche a été bloquée, une trace de l'Event a quand même été gardée et l'Event exécuté plus tard.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 BOOL CPlatformsGrid::PreTranslateMessage(MSG* pMsg) { if( pMsg->message == WM_KEYDOWN ) { if(pMsg->wParam == VK_DOWN || pMsg->wParam == VK_UP) { if (! test()) return TRUE; } } return CRMGridCtrl::PreTranslateMessage(pMsg); }
Comment résoudre le problème? Est-ce que je m'y prends mal pour bloquer les touches de directions? ..... des idées?
Merci à tous,
Hugues.
Partager