Udostępnij za pośrednictwem


CWnd::OnSysKeyDown

Jeśli CWnd obiekt ma fokus, OnSysKeyDown Członkowskich funkcja jest wywoływana przez ramy, gdy użytkownik posiada klawisz ALT, a następnie naciśnie innego klucza.

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

Parametry

  • nChar
    Określa kod klucza wirtualnego klawiszem naciśniętym.Wykaz standardowych kodów klucza wirtualnego Zobacz pliku Winuser.h

  • nRepCnt
    Określa liczbę powtórzeń.

  • nFlags
    Określa kod skanowania, kod klucza przejścia, poprzedni stan klucza i kod w kontekście, jak pokazano na poniższej liście:

    Wartość

    Znaczenie

    0–7

    Skanowanie kodu (wartość zależna od producenta OEM).Bajcie znaczących programu word.

    8

    Rozszerzone klucza, na przykład klawisza funkcyjnego lub klawisz na klawiaturze numerycznej (1, jeśli klucz rozszerzony; inaczej 0).

    9–10

    Nie używany.

    11–12

    Używane wewnętrznie przez system Windows.

    13

    Kod kontekstu (1, jeśli klawisz ALT jest wciśnięty, podczas gdy jest naciśnięty, 0 w przeciwnym razie).

    14

    Poprzedni stan klucza (Jeśli klucz jest wyłączony, zanim wiadomość jest wysyłana, 0, jeśli klucz jest 1).

    15

    Przejście stanu (1, jeśli klucz jest zwalniany, 0, jeżeli jest naciśnięty).

    Dla OnSysKeyDown wywołania przejścia klucz bit (bit 15) wynosi 0.Kod w kontekście bit (bit 13) jest 1, jeśli klawisz ALT jest wyłączony, podczas gdy naciśnięty; Jeśli wiadomość jest wysyłana do aktywnego okna, ponieważ żadne okno nie ma fokus, jest 0.

Uwagi

Jeśli żadne okno nie ma aktualnie fokus, aktywne okno na OnSysKeyDown Członkowskich funkcja jest wywoływana.CWnd Obiekt, który odbiera wiadomości można rozróżnić tych dwóch kontekstów przez sprawdzanie kodu kontekstu nFlags.

Gdy kod kontekstu jest 0, WM_SYSKEYDOWN wiadomości odebrane przez OnSysKeyDown mogą być przekazywane do TranslateAccelerator funkcji systemu Windows, która będzie obsługiwał on, jakby był normalnej wiadomości klucza zamiast komunikatu klucza systemowego.Dzięki temu klawisze skrótów używane w aktywnym oknie, nawet jeśli aktywne okno ma fokus.

Ze względu na automatyczne powtarzanie, więcej niż jeden OnSysKeyDown rozmowy może występować przed WM_SYSKEYUP odebrana wiadomość.Poprzedniego stanu klucza (bit 14) można ustalić, czy OnSysKeyDown wywołanie wskazuje przejście w dół pierwszej lub przejścia powtarzające się w dół.

Rozszerzona IBM 101 i 102 klawisze klawiatury rozszerzone klucze są prawy ALT i prawo klawisze CTRL na głównych części klawiatury; INS, DEL, HOME, END, PAGE UP, PAGE DOWN i klawiszy strzałek w klastrach po lewej stronie numerycznej; i ukośnika (/), jak i klawisze ENTER w numerycznej.Inne układy klawiatury może obsługiwać bit klucz rozszerzony w nFlags.

[!UWAGA]

Ta funkcja Członkowskich jest wywoływana przez RAM, aby umożliwić aplikacji do obsługi wiadomości dla systemu Windows.Parametry przekazywane do funkcji odzwierciedlać parametry otrzymanych w ramach, kiedy wiadomość została odebrana.Wywołanie jest klasa bazowa wykonania tej funkcji, że realizacja zostanie użyte parametry pierwotnie przekazywane wiadomości i nie podane parametry funkcji.

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CWnd

Wykres hierarchii

TranslateAccelerator

CWnd::OnSysKeyUp

WM_SYSKEYDOWN