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;
}
}
}
関連トピック