Partilhar via


Como processar a notificação de DTN_WMKEYDOWN

Este tópico demonstra como processar uma notificação de 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 teclas dentro dos campos de retorno de chamada do controle.

O que precisa de 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 informar que o usuário digitou a entrada em um campo de retorno de chamada. Se você quiser emular as mesmas respostas de teclado que são suportadas para campos DTP padrão ou fornecer respostas personalizadas, seu aplicativo deve incluir código para lidar com 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 certificar-se de que as duas cadeias de caracteres são terminadas em nulo. Você deve examinar 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 de seletor de data e hora

Referência do Controlo do Seletor de Data e Hora

Seletor de Data e Hora