Informazioni sui comandi rapidi

Un controllo per i tasti di scelta rapida è una finestra che consente all'utente di immettere una combinazione di sequenze di tasti da usare come tasto di scelta rapida. Un tasto di scelta rapida è una combinazione di tasti che l'utente può premere per eseguire rapidamente un'azione. Ad esempio, un utente può creare un tasto di scelta rapida che attiva una determinata finestra e lo porta all'inizio dell'ordine z. Il controllo tasto di scelta rapida visualizza le scelte dell'utente e garantisce che l'utente selezioni una combinazione di tasti valida. La schermata seguente mostra come viene visualizzato un controllo tasto di scelta rapida in una finestra di dialogo dopo che l'utente preme ALT.

schermata di una finestra di dialogo contenente un controllo di scorciatoia da tastiera

Uso dei controlli delle scorciatoie da tastiera

Quando l'utente immette una combinazione di tasti da usare come tasto di scelta rapida, i nomi dei tasti vengono visualizzati nel controllo tasto di scelta rapida. Una combinazione di tasti può essere costituita da un tasto di modifica (ad esempio CTRL, ALT o MAIUSC) e da un tasto di accompagnamento (ad esempio un tasto di scelta rapida, un tasto freccia, un tasto funzione e così via).

Dopo che l'utente ha scelto una combinazione di tasti, l'applicazione recupera la combinazione di tasti dal controllo tasto di scelta rapida e la usa per configurare un tasto di scelta rapida nel sistema. Le informazioni recuperate dal controllo tasto di accelerazione includono un flag che indica il tasto modificatore e il codice del tasto virtuale associato.

L'applicazione può usare le informazioni fornite da un controllo per tasti di scelta rapida per configurare un tasto di scelta rapida globale o un tasto di scelta rapida specifico del thread. Un tasto di scelta rapida globale è associato a una determinata finestra; consente all'utente di attivare la finestra da qualsiasi parte del sistema. Un'applicazione imposta un tasto di scelta rapida globale usando il messaggio WM_SETHOTKEY. Ogni volta che l'utente preme un tasto di scelta rapida globale, la finestra specificata in WM_SETHOTKEY riceve un messaggio WM_SYSCOMMAND che specifica il valore SC_HOTKEY. Questo messaggio attiva la finestra che lo riceve. Il tasto di scelta rapida rimane valido fino a quando l'applicazione che ha chiamato WM_SETHOTKEY non viene chiusa.

Un tasto di scelta rapida specifico del thread genera un messaggio WM_HOTKEY inviato all'inizio di un thread specifico in modo che venga rimosso dall'iterazione successiva del ciclo di messaggi. Un'applicazione imposta un tasto di scelta rapida specifico del thread utilizzando la funzione RegisterHotKey .

Messaggi di controllo dei tasti rapidi

Dopo aver creato un controllo di tasto di scelta rapida, un'applicazione interagisce con esso usando tre messaggi: HKM_SETRULES, HKM_SETHOTKEYe HKM_GETHOTKEY.

Un'applicazione può inviare il messaggio di HKM_SETRULES per specificare un set di combinazioni di tasti CTRL, ALT e MAIUSC considerate tasti di scelta rapida non valide. Se l'applicazione specifica una combinazione di tasti non valida, deve specificare anche una combinazione di modifica predefinita da usare quando l'utente seleziona la combinazione non valida. Quando l'utente immette la combinazione non valida, il sistema esegue un'operazione OR logica sulla combinazione non valida e sulla combinazione predefinita. Il risultato è considerato una combinazione valida; viene convertito in una stringa e visualizzato nel controllo .

Il messaggio HKM_SETHOTKEY consente a un'applicazione di impostare la combinazione di tasti rapidi per un controllo dei tasti rapidi. Questo messaggio viene in genere usato anche quando il controllo del tasto di scelta rapida viene creato.

Le applicazioni usano il messaggio HKM_GETHOTKEY per recuperare il codice del tasto virtuale e i flag di modificatore del tasto di scelta rapida scelto dall'utente.

Notifiche di controllo dei tasti di scelta rapida

Il controllo hot key non invia codici di notifica tramite il messaggio di WM_NOTIFY . Tuttavia, invierà la notifica EN_CHANGE tramite il messaggio WM_COMMAND quando l'utente modifica il contenuto del controllo.

Elaborazione predefinita dei messaggi mediante tasto rapido

In questa sezione vengono descritti i messaggi della finestra gestiti dalla procedura della finestra per la classe finestra HOTKEY_CLASS predefinita utilizzata per i controlli dei tasti di scelta rapida.

Messaggio Elaborazione eseguita
WM_CHAR Recupera il codice della chiave virtuale.
WM_CREATE Inizializza il controllo tasto di scelta rapida, cancella le regole dei tasti di scelta rapida e usa il tipo di carattere di sistema.
WM_ERASEBKGND Nasconde il cursore, chiama la funzione DefWindowProc e visualizza nuovamente il cursore.
WM_GETDLGCODE Restituisce una combinazione dei valori DLGC_WANTCHARS e DLGC_WANTARROWS.
WM_GETFONT Recupera il tipo di carattere.
WM_KEYDOWN Chiama la funzioneDefWindowProcse il tasto è INVIO, TAB, BARRA SPAZIATRICE, DEL, ESC o BACKSPACE. Se il tasto è MAIUSC, CTRL o ALT, controlla se la combinazione è valida e, in caso affermativo, imposta il tasto di scelta rapida usando la combinazione. Tutte le altre chiavi vengono impostate come tasti di scelta rapida senza che venga verificata prima la validità.
WM_KEYUP Recupera il codice della chiave virtuale.
WM_KILLFOCUS Distrugge il caret.
WM_LBUTTONDOWN Imposta il focus sulla finestra.
WM_NCCREATE Imposta lo stile della finestra WS_EX_CLIENTEDGE.
WM_PAINT Disegna il controllo tasto di scelta rapida.
WM_SETFOCUS Crea e mostra il cursore.
WM_SETFONT Imposta il tipo di carattere.
WM_SYSCHAR Recupera il codice della chiave virtuale.
WM_SYSKEYDOWN Chiama la funzioneDefWindowProcse il tasto è INVIO, TAB, BARRA SPAZIATRICE, DEL, ESC o BACKSPACE. Se il tasto è MAIUSC, CTRL o ALT, controlla se la combinazione è valida e, in caso affermativo, imposta il tasto di scelta rapida usando la combinazione. Tutte le altre chiavi vengono impostate come tasti di scelta rapida senza che venga verificata prima la validità.
WM_SYSKEYUP Recupera il codice della chiave virtuale.