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;
}
}
}
Tópicos relacionados