Verarbeiten der DTN_WMKEYDOWN-Benachrichtigung
In diesem Thema wird veranschaulicht, wie eine DTN_WMKEYDOWN Benachrichtigung verarbeitet wird. Die Behandlung dieses Benachrichtigungscodes ermöglicht es dem Besitzer des Steuerelements, bestimmte Antworten auf Tastaturanschläge innerhalb der Rückruffelder des Steuerelements bereitzustellen.
Wichtige Informationen
Technologien
Voraussetzungen
- C/C++
- Programmierung der Windows-Benutzeroberfläche
Anweisungen
DTP-Steuerelemente (Datums- und Uhrzeitauswahl) senden die DTN_WMKEYDOWN Nachricht, um zu melden, dass der Benutzer Eingaben in ein Rückruffeld eingegeben hat. Wenn Sie die gleichen Tastaturantworten emulieren möchten, die für Standard-DTP-Felder unterstützt werden, oder benutzerdefinierte Antworten bereitstellen möchten, muss Ihre Anwendung Code für die Verarbeitung dieser Benachrichtigung enthalten.
Das folgende C++-Codebeispiel ist eine anwendungsdefinierte Funktion, die die DTN_WMKEYDOWN Benachrichtigung verarbeitet.
Sicherheitswarnung: Die falsche Verwendung von lstrcmp kann die Sicherheit Ihrer Anwendung beeinträchtigen. Bevor Sie beispielsweise lstrcmp im folgenden Codebeispiel aufrufen, sollten Sie sicherstellen, dass die beiden Zeichenfolgen NULL-beendet sind. Sie sollten Sicherheitsüberlegungen: Microsoft Windows-Steuerelemente lesen, bevor Sie fortfahren.
// DoWMKeydown increments or decrements the day of month according
// to user keyboard input.
void WINAPI DoWMKeydown(
HWND hwndDP,
LPNMDATETIMEWMKEYDOWN lpDTKeystroke)
{
int delta =1;
if(!lstrcmp(lpDTKeystroke->pszFormat,L"XX")){
switch(lpDTKeystroke->nVirtKey){
case VK_DOWN:
case VK_SUBTRACT:
delta = -1; // fall through
case VK_UP:
case VK_ADD:
lpDTKeystroke->st.wDay += (WORD) delta;
break;
}
}
}
Zugehörige Themen