Acceleratore tabelle

Una tabella di acceleratore è costituito da una matrice di strutture ACCEL , ogni definizione di un acceleratore individuale. Ogni struttura ACCEL include le seguenti informazioni:

Per elaborare le battiture acceleratore per un determinato thread, lo sviluppatore deve chiamare la funzione TranslateAccelerator nel ciclo di messaggi associato con la coda di messaggi del thread. La funzione TranslateAccelerator monitora l'input da tastiera per la coda di messaggi, il controllo per combinazioni di tasti che corrispondono a una voce nella tabella di acceleratore. Quando TranslateAccelerator trova una corrispondenza, che traduce l'input di tastiera (cioè, WM_KEYUP e messaggi WM_KEYDOWN ) in un messaggio WM_COMMAND o WM_SYSCOMMAND e quindi invia il messaggio alla routine di finestra del finestra specificata. L'illustrazione seguente mostra la modalità di elaborazione dei tasti di scelta rapida.

Il messaggio WM_COMMAND include l'identificatore dell'acceleratore che ha causato TranslateAccelerator generare il messaggio. La routine della finestra esamina l'identificatore per determinare l'origine del messaggio e quindi elabora il messaggio in conseguenza.

Acceleratore tabelle sono presenti a due livelli diversi. Il sistema mantiene una tabella di acceleratore unico, tutto il sistema che si applica a tutte le applicazioni. Un'applicazione non può modificare la tabella di sistema acceleratore. Per una descrizione di acceleratori di fornito da tabella acceleratore di sistema, vedere Le assegnazioni di battitura Accelerator.

Il sistema mantiene anche le tabelle di acceleratore per ogni applicazione. Un'applicazione può definire un numero qualsiasi di tabelle di acceleratore per l'utilizzo con il proprio windows. Un unico manico a 32-bit (HACCEL) identifica ogni tabella. Tuttavia, tabella solo un acceleratore può essere attivo in un momento per un determinato thread. L'handle per la tabella di acceleratore passata alla funzione TranslateAccelerator determina quale tabella accelerator è attivo per un thread. La tabella accelerator attivo può essere modificata in qualsiasi momento passando una tabella diversa maniglia a TranslateAccelerator.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index