Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gestisce le tabelle di tasti di scelta rapida per la finestra cornice principale e le finestre cornice figlio.
class CKeyboardManager : public CObject
Nome | Descrizione |
---|---|
CKeyboardManager::CKeyboardManager | Costruisce un oggetto CKeyboardManager . |
Nome | Descrizione |
---|---|
CKeyboardManager::CleanUp | Cancella le tabelle dei tasti di scelta rapida. |
CKeyboardManager::FindDefaultAccelerator | Recupera il tasto di scelta rapida predefinito per il comando e la finestra specificati. |
CKeyboardManager::IsKeyHandled | Determina se una chiave viene gestita dalla tabella dell'acceleratore. |
CKeyboardManager::IsKeyPrintable | Indica se un carattere è stampabile. |
CKeyboardManager::IsShowAllAccelerators | Indica se i menu mostrano tutti i tasti di scelta rapida per un comando o solo il tasto di scelta rapida predefinito. |
CKeyboardManager::LoadState | Carica le tabelle dei tasti di scelta rapida dal Registro di sistema di Windows. |
CKeyboardManager::ResetAll | Ricarica le tabelle dei tasti di scelta rapida dalla risorsa dell'applicazione. |
CKeyboardManager::SaveState | Salva le tabelle dei tasti di scelta rapida nel Registro di sistema di Windows. |
CKeyboardManager::ShowAllAccelerators | Specifica se il framework visualizza tutti i tasti di scelta rapida per tutti i comandi o un singolo tasto di scelta rapida per ogni comando. Questo metodo non influisce sui comandi con un solo tasto di scelta rapida associato. |
CKeyboardManager::TranslateCharToUpper | Converte un carattere nel registro superiore. |
CKeyboardManager::UpdateAccelTable | Aggiorna una tabella dei tasti di scelta rapida con una nuova tabella dei tasti di scelta rapida. |
I membri di questa classe consentono di salvare e caricare le tabelle dei tasti di scelta rapida nel Registro di sistema di Windows, usare un modello per aggiornare le tabelle dei tasti di taglio breve e trovare il tasto di scelta rapida predefinito per un comando in una finestra cornice. Inoltre, l'oggetto CKeyboardManager
consente di controllare la modalità di visualizzazione dei tasti di scelta rapida all'utente.
Non è consigliabile creare un CKeyboardManager
oggetto manualmente. Verrà creato automaticamente dal framework dell'applicazione. Tuttavia, è necessario chiamare CWinAppEx::InitKeyboardManager durante il processo di inizializzazione dell'applicazione. Per ottenere un puntatore al gestore della tastiera per l'applicazione, chiama CWinAppEx::GetKeyboardManager.
Nell'esempio seguente viene illustrato come recuperare un puntatore a un CKeyboardManager
oggetto da una CWinAppEx
classe e come visualizzare tutti i tasti di scelta rapida associati ai comandi di menu. Questo frammento di codice fa parte dell'esempio pagine personalizzate.
// The GetKeyboardManager method is inherited from the CWinAppEx class.
CKeyboardManager *cKeyboardManager = GetKeyboardManager();
cKeyboardManager->ShowAllAccelerators();
Intestazione: afxkeyboardmanager.h
Costruisce un oggetto CKeyboardManager
.
CKeyboardManager();
Nella maggior parte dei casi, non è necessario creare direttamente un oggetto CKeyboardManager
. Per impostazione predefinita, il framework ne crea uno automaticamente. Per ottenere un puntatore a CKeyboardManager
, chiamare CWinAppEx::GetKeyboardManager. Se ne crei uno manualmente, devi inizializzarlo con il metodo CWinAppEx::InitKeyboardManager.
Libera le CKeyboardManager
risorse e cancella tutti i mapping dei tasti di scelta rapida.
static void CleanUp();
Per altre informazioni sui tasti di scelta rapida, vedere Personalizzazione della tastiera e del mouse.
Non è necessario chiamare questa funzione quando l'applicazione viene chiusa perché il framework lo chiama automaticamente durante l'uscita dall'applicazione.
Recupera il tasto di scelta rapida predefinito per il comando e la finestra specificati.
static BOOL FindDefaultAccelerator(
UINT uiCmd,
CString& str,
CFrameWnd* pWndFrame,
BOOL bIsDefaultFrame);
uiCmd
[in] ID comando.
str
[out] Riferimento a un oggetto CString
.
pWndFrame
[in] Puntatore a una finestra cornice.
bIsDefaultFrame
[in] Specifica se la finestra cornice è la finestra cornice predefinita.
Diverso da zero se viene trovato il collegamento; in caso contrario, 0.
Questo metodo cerca il comando specificato da uiCmd e recupera il tasto di scelta rapida predefinito. Il metodo accetta quindi la stringa associata a questo tasto di scelta rapida e scrive il valore nel parametro str .
Determina se la chiave specificata viene gestita dalla classe CKeyboardManager.
static BOOL __stdcall IsKeyHandled(
WORD nKey,
BYTE fVirt,
CFrameWnd* pWndFrame,
BOOL bIsDefaultFrame);
nKey
[in] Chiave da controllare.
fVirt
[in] Specifica il comportamento del tasto di scelta rapida. Per un elenco dei valori possibili, vedere Struttura ACCEL.
pWndFrame
[in] Finestra cornice. Questo metodo determina se un tasto di scelta rapida viene gestito in questo frame.
bIsDefaultFrame
[in] Parametro booleano che indica se pWndFrame è la finestra cornice predefinita.
TRUE se il tasto di scelta rapida viene gestito. FALSE se la chiave non viene gestita o se pWndFrame è NULL.
I parametri di input devono corrispondere alla voce nella tabella degli acceleratori sia per nKey che per fVirt per determinare se un tasto di scelta rapida viene gestito in pWndFrame.
Indica se un carattere è stampabile.
static BOOL __stdcall IsKeyPrintable(const UINT nChar);
nChar
[in] Carattere controllato da questo metodo.
Diverso da zero se il carattere è stampabile, zero in caso contrario.
Questo metodo ha esito negativo se una chiamata a GetKeyboardState ha esito negativo.
Indica se i menu mostrano tutti i tasti di scelta rapida associati ai comandi di menu o solo i tasti di scelta rapida predefiniti.
static BOOL IsShowAllAccelerators();
Diverso da zero se l'applicazione elenca tutti i tasti di scelta rapida per i comandi di menu; 0 se l'applicazione visualizza solo i tasti di scelta rapida predefiniti.
L'applicazione elenca i tasti di scelta rapida per i comandi di menu nella barra dei menu. Usare la funzione CKeyboardManager::ShowAllAccelerators per controllare se l'applicazione elenca tutti i tasti di scelta rapida o solo i tasti di scelta rapida predefiniti.
Carica le tabelle dei tasti di scelta rapida dal Registro di sistema di Windows.
BOOL LoadState(
LPCTSTR lpszProfileName = NULL,
CFrameWnd* pDefaultFrame = NULL);
lpszProfileName
[in] Percorso del Registro di sistema in cui CKeyboardManager
vengono salvati i dati.
pDefaultFrame
[in] Puntatore a una finestra cornice da usare come finestra predefinita.
Diverso da zero se lo stato è stato caricato correttamente o 0 in caso contrario.
Se il parametro lpszProfileName è NULL, questo metodo controlla la posizione predefinita del Registro di sistema per i CKeyboardManager
dati. Il percorso predefinito del Registro di sistema viene specificato dalla classe CWinAppEx. I dati devono essere scritti in precedenza con il metodo CKeyboardManager::SaveState.
Se non si specifica una finestra predefinita, verrà usata la finestra cornice principale dell'applicazione.
Ricarica le tabelle dei tasti di scelta rapida dalla risorsa dell'applicazione.
void ResetAll();
Questa funzione cancella i collegamenti archiviati nell'istanza CKeyboardManager
di . Ricarica quindi lo stato del gestore della tastiera dalla risorsa dell'applicazione.
Salva le tabelle dei tasti di scelta rapida nel Registro di sistema di Windows.
BOOL SaveState(
LPCTSTR lpszProfileName = NULL,
CFrameWnd* pDefaultFrame = NULL);
lpszProfileName
[in] Percorso del Registro di sistema per salvare lo CKeyboardManager
stato.
pDefaultFrame
[in] Puntatore a una finestra cornice che diventa la finestra predefinita.
Diverso da zero se lo stato di gestione della tastiera è stato salvato correttamente o 0 in caso contrario.
Se il parametro lpszProfileName è NULL, questo metodo scriverà lo CKeyboardManager
stato nel percorso predefinito specificato dalla classe CWinAppEx. Se si specifica un percorso, è possibile caricare i dati in un secondo momento usando il metodo CKeyboardManager::LoadState.
Se non si specifica una finestra predefinita, la finestra cornice principale verrà usata come finestra predefinita.
Mostra tutti i tasti di scelta rapida associati ai comandi di menu.
static void ShowAllAccelerators(
BOOL bShowAll = TRUE,
LPCTSTR lpszDelimiter = _afxDefaultAcceleratorDelimiter);
bShowAll
[in] Se TRUE, verranno visualizzati tutti i tasti di scelta rapida. Se FALSE, verrà visualizzato solo il primo tasto di scelta rapida.
lpszDelimiter
[in] Stringa da inserire tra i tasti di scelta rapida. Questo delimitatore non ha alcun effetto se viene visualizzato un solo tasto di scelta rapida.
Per impostazione predefinita, se a un comando sono associati più tasti di scelta rapida, verrà visualizzato solo il primo tasto di scelta rapida. Questa funzione consente di elencare tutti i tasti di scelta rapida associati a tutti i comandi.
I tasti di scelta rapida verranno elencati accanto al comando nella barra dei menu. Se vengono visualizzati tutti i tasti di scelta rapida, la stringa fornita da lpszDelimiter separa i singoli tasti di scelta rapida.
Converte un carattere nel registro superiore.
static UINT TranslateCharToUpper(const UINT nChar);
nChar
[in] Carattere da convertire.
Carattere che rappresenta il registro superiore del parametro di input.
Aggiorna una tabella dei tasti di scelta rapida con una nuova tabella dei tasti di scelta rapida.
BOOL UpdateAccelTable(
CMultiDocTemplate* pTemplate,
LPACCEL lpAccel,
int nSize,
CFrameWnd* pDefaultFrame = NULL);
BOOL UpdateAccelTable(
CMultiDocTemplate* pTemplate,
HACCEL hAccelNew,
CFrameWnd* pDefaultFrame = NULL);
pTemplate
[in] Puntatore a un modello di documento.
lpAccel
[in] Puntatore al nuovo tasto di scelta rapida.
nSize
[in] Dimensioni della nuova tabella di scelta rapida.
pDefaultFrame
[in] Puntatore alla finestra cornice predefinita.
hAccelNew
[in] Handle per la nuova tabella di scelta rapida.
Diverso da zero se il metodo ha esito positivo; in caso contrario, 0.
Utilizzare questa funzione per sostituire la tabella di scelta rapida esistente con i nuovi tasti di scelta rapida per diversi oggetti finestra cornice. La funzione riceve un modello di documento come parametro per ottenere l'accesso a tutti gli oggetti finestra cornice connessi al modello di documento specificato.
Grafico della gerarchia
Classi
Classe CWinAppEx
CWinAppEx::InitKeyboardManager
Personalizzazione di tastiera e mouse