Erstellen einer Tastaturschnittstelle für Standard-Bildlaufleisten
Obwohl ein Bildlaufleistensteuerelement eine integrierte Tastaturschnittstelle bietet, ist dies bei einer Standard-Scrollleiste nicht der Fall. Um eine Tastaturschnittstelle für eine Standardlaufleiste zu implementieren, muss eine Fensterprozedur die WM_KEYDOWN Nachricht verarbeiten und den durch den wParam-Parameter angegebenen Virtuellen Schlüsselcode untersuchen. Wenn der Code des virtuellen Schlüssels einer Pfeiltaste entspricht, sendet die Fensterprozedur selbst eine WM_HSCROLL oder WM_VSCROLL Nachricht, wobei das Wort mit niedriger Reihenfolge des wParam-Parameters auf den entsprechenden Anforderungscode für die Scrollleiste festgelegt ist.
Wenn der Benutzer beispielsweise die NACH-OBEN-TASTE drückt, erhält die Fensterprozedur eine WM_KEYDOWN Nachricht mit wParam gleich VK_UP. Als Antwort sendet die Fensterprozedur selbst eine WM_VSCROLL Nachricht, wobei das Wort mit niedriger Reihenfolge von wParam auf den SB_LINEUP Anforderungscode festgelegt ist.
Wichtige Informationen
Technologien
Voraussetzungen
- C/C++
- Programmierung der Windows-Benutzeroberfläche
Anweisungen
Erstellen einer Tastaturschnittstelle für eine Standardlaufleiste
Im folgenden Codebeispiel wird veranschaulicht, wie eine Tastaturschnittstelle für eine Standardlaufleiste eingeschlossen wird.
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;
}
Zugehörige Themen