Compartir a través de


CWnd::OnSysKeyDown

Si el objeto de CWnd tiene el foco de entrada, la función miembro de OnSysKeyDown llaman el marco cuando el usuario mantiene presionada la tecla ALT y después presione otra tecla.

afx_msg void OnSysKeyDown(
   UINT nChar,
   UINT nRepCnt,
   UINT nFlags 
);

Parámetros

  • nChar
    Especifica el código de tecla virtual de clave que está presionado.Para obtener una lista de códigos de tecla virtual estándar, vea Winuser.h

  • nRepCnt
    Especifica el número de repeticiones.

  • nFlags
    Especifica el código de navegación, el código de la tecla-transición, el estado clave anterior, y el código del contexto, como se muestra en la siguiente lista:

    Valor

    Significado

    0–7

    Examinar código (valor OEM-dependiente).Byte en la palabra de alto nivel.

    8

    Clave extendida, como una clave de función o una clave en el teclado numérico (1 si es una tecla extendida; si no 0).

    9–10

    No se utiliza.

    11–12

    Se utiliza internamente por Windows.

    13

    Código de contexto (1 si se mantiene presionada la tecla ALT mientras se presiona la tecla, 0 de otro).

    14

    Estado de teclado anterior (1 si la clave está siguiente antes de que se envíe el mensaje, 0 si la clave está hacia arriba).

    15

    Estado de transición (1 si se lanzar la clave, 0 si se presionando la tecla).

    Para las llamadas de OnSysKeyDown , el bit de la tecla-transición (15 bits) es 0.El bit de contexto-código (13 bits) es 1 si la tecla ALT está presionado mientras se presiona la tecla; es 0 si el mensaje se envía a la ventana activa porque ninguna ventana tiene el foco de entrada.

Comentarios

Si ninguna ventana tiene actualmente el foco de entrada, se llama a la función miembro de OnSysKeyDown de la ventana activa.El objeto de CWnd que recibe el mensaje puede diferenciar entre estos dos contextos comprobando el código del contexto en nFlags.

Cuando el código de contexto es 0, el mensaje de WM_SYSKEYDOWN recibido por OnSysKeyDown se puede pasar a la función de TranslateAccelerator Windows, lo que administrará como si fuera un mensaje clave normal en lugar de un mensaje de la sistema-tecla.Esto permite que las teclas de aceleración se utilizarán con la ventana activa aunque la ventana activa no tiene el foco de entrada.

Debido a repetición automática, más de una llamada de OnSysKeyDown puede producir antes de que se reciba el mensaje de WM_SYSKEYUP .El estado de teclado anterior (14 bits) se puede utilizar para determinar si la llamada de OnSysKeyDown indica la primera abajo transición o llamada bajar la transición.

Para IBM mejorada de 101 y 102 teclados clave, las teclas mejoradas son ALT derecha y CTRL correctas en la sección principal de teclado; INS, la DELETE, INICIO, FIN, RE PÁG, AV PÁG, y las teclas de dirección en clústeres a la izquierda del teclado numérico; y la barra diagonal (/) y teclas ENTRAR en el teclado numérico.Otros teclados pueden admitir el bit de la extender-tecla en nFlags.

[!NOTA]

Esta función miembro llaman el marco para que la aplicación pueda controlar un mensaje de Windows.Los parámetros pasados a la función reflejan los parámetros recibidos por el marco cuando el mensaje se recibió.Si llama a la implementación de la clase base de esta función, esa implementación utilizará los parámetros pasados originalmente con el mensaje y no los parámetros que se proporciona a la función.

Requisitos

encabezado: afxwin.h

Vea también

Referencia

Clase de CWnd

Gráfico de jerarquía

TranslateAccelerator

CWnd::OnSysKeyUp

WM_SYSKEYDOWN