WM_VKEYTOITEM mensagem

Enviado por uma caixa de listagem com o estilo LBS_WANTKEYBOARDINPUT para seu proprietário em resposta a uma mensagem de WM_KEYDOWN .

WM_VKEYTOITEM

    WPARAM wParam;
    LPARAM lParam; 

Parâmetros

wParam

O LOWORD especifica o código de chave virtual da chave que o usuário pressionou. O HIWORD especifica a posição atual do caret.

lParam

Manipule para a caixa de listagem.

Retornar valor

O valor retornado especifica a ação executada pelo aplicativo em resposta à mensagem. Um valor retornado de -2 indica que o aplicativo lidou com todos os aspectos da seleção do item e não requer nenhuma ação adicional pela caixa de listagem. (Consulte Comentários.) Um valor retornado de -1 indica que a caixa de listagem deve executar a ação padrão em resposta ao pressionamento de teclas. Um valor retornado igual a 0 ou maior especifica o índice de um item na caixa de listagem e indica que a caixa de listagem deve executar a ação padrão para o pressionamento de teclas no item especificado.

Comentários

Um valor retornado de -2 é válido apenas para chaves que não são convertidas em caracteres pelo controle de caixa de listagem. Se a mensagem WM_KEYDOWN for traduzida para uma mensagem WM_CHAR e o aplicativo processar a mensagem WM_VKEYTOITEM gerada como resultado da tecla press, a caixa de listagem ignorará o valor retornado e fará o processamento padrão para esse caractere). WM_KEYDOWN mensagens geradas por chaves como VK_UP, VK_DOWN, VK_NEXT e VK_PREVIOUS não são convertidas em mensagens WM_CHAR . Nesses casos, prender a mensagem WM_VKEYTOITEM e retornar -2 impede que a caixa de listagem faça o processamento padrão para essa chave.

Para capturar chaves que geram uma mensagem char e fazem processamento especial, o aplicativo deve subclasse a caixa de listagem, capturar as mensagens WM_KEYDOWN e WM_CHAR e processar as mensagens adequadamente no procedimento de subclasse.

As observações anteriores se aplicam a caixas de listagem regulares criadas com o estilo LBS_WANTKEYBOARDINPUT . Se a caixa de listagem for desenhada pelo proprietário, o aplicativo deverá processar a mensagem WM_CHARTOITEM .

A função DefWindowProc retorna -1.

Se um procedimento de caixa de diálogo tratar essa mensagem, ele deverá converter o valor de retorno desejado em um BOOL e retornar o valor diretamente. O valor DWL_MSGRESULT definido pela função SetWindowLong é ignorado.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho
Winuser.h (inclua Windows.h)

Confira também

Referência

WM_CHARTOITEM

Outros recursos

HIWORD

LOWORD

WM_KEYDOWN