如何處理DTN_WMKEYDOWN通知
本主題示範如何處理 DTN_WMKEYDOWN 通知。 處理此通知程式代碼可讓控件的擁有者在控件的回呼欄位中提供按鍵的特定回應。
您需要知道的事項
技術
必要條件
- C/C++
- Windows 使用者介面程序設計
指示
日期和時間選擇器 (DTP) 控制項會 傳送DTN_WMKEYDOWN 訊息,以報告使用者在回呼欄位中輸入輸入。 如果您想要模擬標準 DTP 字段支援的相同鍵盤回應,或提供自定義回應,您的應用程式必須包含程式代碼來處理此通知。
下列 C++ 程式代碼範例是應用程式定義的函式,可處理 DTN_WMKEYDOWN 通知。
安全性警告: 使用 lstrcmp 不正確可能會危害應用程式的安全性。 例如,在下列程式代碼範例中呼叫 lstrcmp 之前,您應該確定兩個字串都是以 Null 結尾的。 您應該先檢閱 安全性考慮:Microsoft Windows 控件 再繼續。
// 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;
}
}
}
相關主題