Compartilhar via


Como processar a notificação de DTN_WMKEYDOWN

Este tópico demonstra como processar uma notificação DTN_WMKEYDOWN . A manipulação desse código de notificação permite que o proprietário do controle forneça respostas específicas a pressionamentos de tecla nos campos de retorno de chamada do controle.

O que você precisa saber

Tecnologias

Pré-requisitos

  • C/C++
  • Programação da interface do usuário do Windows

Instruções

Os controles DTP (seletor de data e hora) enviam a mensagem de DTN_WMKEYDOWN para relatar que o usuário digitou a entrada em um campo de retorno de chamada. Se você quiser emular as mesmas respostas de teclado com suporte para campos DTP padrão ou fornecer respostas personalizadas, seu aplicativo deverá incluir código para manipular essa notificação.

O exemplo de código C++ a seguir é uma função definida pelo aplicativo que processa a notificação DTN_WMKEYDOWN.

Aviso de segurança: Usar lstrcmp incorretamente pode comprometer a segurança do seu aplicativo. Por exemplo, antes de chamar lstrcmp no exemplo de código a seguir, você deve verificar se as duas cadeias de caracteres são terminadas em nulo. Você deve revisar Considerações de segurança: Controles do Microsoft Windows antes de continuar.

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

Usando controles do seletor de data e hora

Referência de controle do seletor de data e hora

Seletor de data e hora