Przetwarzanie wiadomości klawiszy

Procedury okno okno, w którym nie ma fokusu klawiatury odbiera wiadomości klawiszy, gdy użytkownik wpisze za pomocą klawiatury. Wiadomości klawiszy są WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWNi WM_SYSKEYUP. Procedura typowe okno ignoruje wszystkie wiadomości klawiszy z wyjątkiem WM_KEYDOWN. System zaksięguje komunikat WM_KEYDOWN, kiedy użytkownik naciśnie klawisz.

Podczas procedury okna odbierze komunikat WM_KEYDOWN, należy zbadać kod klucza wirtualnego, który towarzyszy komunikatu, aby określić sposób przetwarzania klawiszy. Kod klucza wirtualnego jest w parametrze wParam wiadomości. Zazwyczaj aplikacja przetwarza tylko naciśnięcia klawiszy generowanych przez klucze-znakowy, włączając klawisze funkcyjne, klawisze przemieszczania kursora i klawiszy specjalnego przeznaczenia, takich jak dodatki, del, domu i zakończenia.

Poniższy przykład przedstawia ramy procedury okna że Typowa aplikacja używa odbierać i przetwarzać komunikaty klawiszy.

sprawa WM_KEYDOWN: przełącznik (wParam) {Sprawa VK_LEFT: / / procesu klawisz Strzałka w lewo. 
                     
                    podział; 
 
                Sprawa VK_RIGHT: / / procesu klawisz Strzałka w prawo. 
                     
                    podział; 
 
                Sprawa VK_UP: / / procesu Strzałka w górę. 
                     
                    podział; 
 
                Sprawa VK_DOWN: / / procesu Strzałka w dół. 
                     
                    podział; 
 
                Sprawa VK_HOME: / / procesu klawisza HOME. 
                     
                    podział; 
 
                Sprawa VK_END: / / procesu klawisz END. 
                     
                    podział; 
 
                Sprawa VK_INSERT: / / procesu klawisz INS. 
                     
                    podział; 
 
                Sprawa VK_DELETE: / / procesu klawisz DEL. 
                     
                    podział; 
 
                Sprawa VK_F2: / / procesu klawisz F2. 
                    
                    podział; 
 
                
                / / Procesu innych klawiszy bez znaku. 
                 
                Domyślnie: podział; 
            } 

 

Index