Guide pratique pour créer une interface clavier pour les barres de défilement standard
Bien qu’un contrôle de barre de défilement fournisse une interface clavier intégrée, ce n’est pas le cas d’une barre de défilement standard. Pour implémenter une interface clavier pour une barre de défilement standard, une procédure de fenêtre doit traiter le message WM_KEYDOWN et examiner le code de touche virtuelle spécifié par le paramètre wParam . Si le code de clé virtuelle correspond à une touche de direction, la procédure de fenêtre s’envoie elle-même un message WM_HSCROLL ou WM_VSCROLL avec le mot d’ordre inférieur du paramètre wParam défini sur le code de demande de barre de défilement approprié.
Par exemple, lorsque l’utilisateur appuie sur la flèche vers le haut, la procédure de fenêtre reçoit un message WM_KEYDOWN avec wParam égal à VK_UP. En réponse, la procédure de fenêtre s’envoie elle-même un message WM_VSCROLL avec le mot de bas ordre wParam défini sur le code de requête SB_LINEUP.
Bon à savoir
Technologies
Prérequis
- C/C++
- Programmation de l’interface utilisateur Windows
Instructions
Créer une interface clavier pour une barre de défilement standard
L’exemple de code suivant montre comment inclure une interface clavier pour une barre de défilement standard.
case WM_KEYDOWN:
{
WORD wScrollNotify = 0xFFFF;
switch (wParam)
{
case VK_UP:
wScrollNotify = SB_LINEUP;
break;
case VK_PRIOR:
wScrollNotify = SB_PAGEUP;
break;
case VK_NEXT:
wScrollNotify = SB_PAGEDOWN;
break;
case VK_DOWN:
wScrollNotify = SB_LINEDOWN;
break;
case VK_HOME:
wScrollNotify = SB_TOP;
break;
case VK_END:
wScrollNotify = SB_BOTTOM;
break;
}
if (wScrollNotify != -1)
SendMessage(hwnd, WM_VSCROLL, MAKELONG(wScrollNotify, 0), 0L);
break;
}
Rubriques connexes