次の方法で共有


DTN_WMKEYDOWN 通知を処理する方法

このトピックでは、DTN_WMKEYDOWN 通知を処理する方法について説明します。 この通知コードを処理すると、コントロールの所有者は、コントロールの [コールバック] フィールド内でキーストロークに対する特定の応答を提供できます。

知っておくべきこと

テクノロジ

前提条件

  • C/C++
  • Windows ユーザー インターフェイス プログラミング

手順

日付と時刻の選択 (DTP) コントロールは、ユーザーが [コールバック] フィールドに入力したことを報告する DTN_WMKEYDOWN メッセージを送信します。 標準の DTP フィールドでサポートされているのと同じキーボード応答をエミュレートする場合、またはカスタム応答を提供する場合は、アプリケーションにこの通知を処理するコードを含める必要があります。

次の C++ コード例は、DTN_WMKEYDOWN 通知を処理するアプリケーション定義関数です。

セキュリティ警告: lstrcmp を誤って使用すると、アプリケーションのセキュリティを損なう場合があります。 たとえば、次のコード例で lstrcmp を呼び出す前に、2 つの文字列が 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;
        }
    }
}

日付と時刻の選択コントロールの使用

日付と時刻の選択コントロール リファレンス

日付と時刻の選択