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;
        }
    }
}

날짜 및 시간 선택기 컨트롤 사용

날짜 및 시간 선택기 컨트롤 참조

날짜 및 시간 선택기