Behandler tastetrykk-meldinger

Vindusprosedyre i vinduer som har fokus på tastaturet mottar tastetrykk meldinger når brukeren skriver på tastaturet. Tastetrykk-meldinger er WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWNog WM_SYSKEYUP. En typisk vindusprosedyre ignorerer alle tastetrykk-postmeldinger bortsett fra WM_KEYDOWN. Posterer systemet WM_KEYDOWN meldingen når brukeren trykker en tast.

Når vinduet prosedyren mottar meldingen WM_KEYDOWN, bør det undersøke virtual-key-koden som følger med meldingen for å finne ut hvordan å behandle tastetrykket. Virtual-key-koden er i meldingens wParam -parameteren. Vanligvis behandler et program bare tastetrykk som er generert av ikke-blokkannulleringstegn keys, inkludert funksjonstastene, markørtastene bevegelse og spesielle formål tastene eksempel moduler, del, hjem og slutten.

Følgende eksempel viser vinduet prosedyren rammen som en typisk program bruker til å motta og behandle tastetrykk-meldinger.

case WM_KEYDOWN: bryteren (wParam) {case VK_LEFT: / / behandle pil venstre. 
                     
                    Break; 
 
                Case VK_RIGHT: / / behandle pil høyre. 
                     
                    Break; 
 
                Case VK_UP: / / behandle pil opp-tasten. 
                     
                    Break; 
 
                Case VK_DOWN: / / behandle pil ned. 
                     
                    Break; 
 
                Case VK_HOME: / / behandle HOME-tasten. 
                     
                    Break; 
 
                Case VK_END: / / behandle END-tasten. 
                     
                    Break; 
 
                Case VK_INSERT: / / behandle INS-tasten. 
                     
                    Break; 
 
                Case VK_DELETE: / / behandle DEL-tasten. 
                     
                    Break; 
 
                Case VK_F2: / / behandle F2-tasten. 
                    
                    Break; 
 
                
                / / Behandle andre-tegns tastetrykk. 
                 
                standard: break; 
            } 

 

Index