Comment 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, aucune barre de défilement standard ne le fait. Pour implémenter une interface clavier pour une barre de défilement standard, une procédure de fenêtre doit traiter le message KeyOut WM _ et examiner le code de la touche virtuelle spécifié par le paramètre wParam . Si le code de la touche virtuelle correspond à une touche de direction, la procédure de fenêtre s’envoie un message WM _ HSCROLL ou WM _ VSCROLL avec le mot de poids faible du paramètre wParam défini sur le code de requête de la barre de défilement appropriée.
Par exemple, quand l’utilisateur appuie sur la touche haut, la procédure de fenêtre reçoit un message _ WM KeyOut avec wParam égal à VK _ up. En réponse, la procédure de fenêtre s’envoie lui-même un message WM _ VSCROLL avec le mot de poids faible de wParam défini sur le code de demande de la _ programmation SB.
Bon à savoir
Technologies
Prérequis
- C/C++
- Windows Programmation de l’interface utilisateur
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;
}