Prelucrarea Keystroke mesaje

Procedura fereastra din fereastra care are focalizarea tastaturii primește mesaje apăsare de tastă atunci când tipurile de utilizator la tastatura. Mesajele taste sunt WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWNși WM_SYSKEYUP. O procedură de fereastra tipic ignoră toate mesajele de taste cu excepția WM_KEYDOWN. Sistemul posturi mesaj WM_KEYDOWN atunci când utilizatorul apasă o tastă.

Atunci când procedura fereastra primește mesajul WM_KEYDOWN, acesta ar trebui să examineze codul virtual-cheie care însoțește mesajului pentru a determina cum să prelucreze apăsare de tastă. Codul virtual-cheie este în mesajului wParam parametru. De obicei, o cerere procesează numai intrarile de la tastatura generate de non-caractere chei, inclusiv tastele funcționale, tastele cursor de circulație și tastele speciale cum ar fi ins, del, acasă și sfârșitul.

Următorul exemplu arată cadrul procedura fereastra care utilizează o aplicație tipică pentru a primi și procesul de taste mesaje.

wM_KEYDOWN de caz: switch (wParam) {caz VK_LEFT: / / procesa tasta săgeată stânga. 
                     
                    pauză; 
 
                caz VK_RIGHT: / / procesa tasta săgeată dreapta. 
                     
                    pauză; 
 
                caz VK_UP: / / procesa tasta săgeată în sus. 
                     
                    pauză; 
 
                caz VK_DOWN: / / procesa tasta săgeată în jos. 
                     
                    pauză; 
 
                caz VK_HOME: / / procesa tasta HOME. 
                     
                    pauză; 
 
                caz VK_END: / / procesa tasta de TERMINARE. 
                     
                    pauză; 
 
                caz VK_INSERT: / / procesa cheia INS. 
                     
                    pauză; 
 
                caz VK_DELETE: / / procesa tasta DEL. 
                     
                    pauză; 
 
                caz VK_F2: / / procesa tasta F2. 
                    
                    pauză; 
 
                
                / / Procesul de alte taste non-caractere. 
                 
                implicit: pauză; 
            } 

 

Index