mensaje de WM_VKEYTOITEM
Enviado por un cuadro de lista con el estilo LBS_WANTKEYBOARDINPUT a su propietario en respuesta a un mensaje de WM_KEYDOWN.
WM_VKEYTOITEM
WPARAM wParam;
LPARAM lParam;
Parámetros
-
wParam
-
LOWORD especifica el código de clave virtual de la tecla que ha presionado el usuario. HIWORD especifica la posición actual del símbolo de intercalación.
-
lParam
-
Identificador del cuadro de lista.
Valor devuelto
El valor devuelto especifica la acción que la aplicación realizó en respuesta al mensaje. Un valor devuelto de -2 indica que la aplicación ha controlado todos los aspectos de la selección del elemento y no requiere ninguna acción adicional por parte del cuadro de lista. (vea la sección Comentarios.) Un valor devuelto de -1 indica que el cuadro de lista debe realizar la acción predeterminada en respuesta a la pulsación de tecla. Un valor devuelto de 0 o superior especifica el índice de un elemento en el cuadro de lista e indica que el cuadro de lista debe realizar la acción predeterminada para la pulsación de tecla en el elemento especificado.
Comentarios
Un valor devuelto de -2 solo es válido para las claves que no se traducen en caracteres por el control de cuadro de lista. Si el mensaje de WM_KEYDOWN se traduce en un mensaje de WM_CHAR y la aplicación procesa el mensaje de WM_VKEYTOITEM generado como resultado de la pulsación de teclas, el cuadro de lista omite el valor devuelto y realiza el procesamiento predeterminado para ese carácter). WM_KEYDOWN mensajes generados por claves como VK_UP, VK_DOWN, VK_NEXT y VK_PREVIOUS no se traducen a mensajes de WM_CHAR. En tales casos, la captura del mensaje WM_VKEYTOITEM y la devolución de -2 impide que el cuadro de lista realice el procesamiento predeterminado para esa clave.
Para interceptar las claves que generan un mensaje char y realizan un procesamiento especial, la aplicación debe subclase el cuadro de lista, interceptar los mensajes WM_KEYDOWN y WM_CHAR, y procesar los mensajes adecuadamente en el procedimiento de subclase.
Los comentarios anteriores se aplican a los cuadros de lista normales que se crean con el estilo LBS_WANTKEYBOARDINPUT. Si el cuadro de lista está dibujado por el propietario, la aplicación debe procesar el mensaje WM_CHARTOITEM.
La función DefWindowProc devuelve -1.
Si un procedimiento de cuadro de diálogo controla este mensaje, debe convertir el valor devuelto deseado en una BOOL y devolver el valor directamente. Se omite el valor de DWL_MSGRESULT establecido por la función SetWindowLong.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo compatible |
Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado |
|
Consulte también
-
Referencia
-
Otros recursos