Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Beheert sneltoetstabellen voor het hoofdframevenster en onderliggende framevensters.
Syntaxis
class CKeyboardManager : public CObject
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CKeyboardManager::CKeyboardManager | Maakt een CKeyboardManager object. |
Openbare methoden
| Naam | Description |
|---|---|
| CKeyboardManager::CleanUp | Hiermee worden de sneltoetstabellen gewist. |
| CKeyboardManager::FindDefaultAccelerator | Haalt de standaardsneltoets voor de opgegeven opdracht en het opgegeven venster op. |
| CKeyboardManager::IsKeyHandled | Bepaalt of een sleutel wordt verwerkt door de acceleratortabel. |
| CKeyboardManager::IsKeyPrintable | Geeft aan of een teken kan worden afgedrukt. |
| CKeyboardManager::IsShowAllAccelerators | Hiermee wordt aangegeven of in menu's alle sneltoetsen voor een opdracht of alleen de standaardsneltoets worden weergegeven. |
| CKeyboardManager::LoadState | Laadt de sneltoetstabellen uit het Windows-register. |
| CKeyboardManager::ResetAll | Laadt de sneltoetstabellen opnieuw vanuit de toepassingsresource. |
| CKeyboardManager::SaveState | Hiermee worden de sneltoetstabellen opgeslagen in het Windows-register. |
| CKeyboardManager::ShowAllAccelerators | Hiermee geeft u op of in het framework alle sneltoetsen voor alle opdrachten of één sneltoets voor elke opdracht worden weergegeven. Deze methode heeft geen invloed op opdrachten met slechts één gekoppelde sneltoets. |
| CKeyboardManager::TranslateCharToUpper | Converteert een teken naar het bovenste register. |
| CKeyboardManager::UpdateAccelTable | Hiermee werkt u een sneltoetstabel bij met een nieuwe sneltoetstabel. |
Opmerkingen
Met de leden van deze klasse kunt u sneltoetstabellen opslaan en laden in het Windows-register, een sjabloon gebruiken om de korte snijsleuteltabellen bij te werken en de standaardsneltoets voor een opdracht in een framevenster te vinden. Daarnaast kunt u met het CKeyboardManager object bepalen hoe sneltoetsen worden weergegeven aan de gebruiker.
U moet geen object handmatig maken CKeyboardManager . Deze wordt automatisch gemaakt door het framework van uw toepassing. U moet echter CWinAppEx::InitKeyboardManager aanroepen tijdens het initialisatieproces van uw toepassing. Als u een aanwijzer wilt krijgen naar het toetsenbordbeheer voor uw toepassing, roept u CWinAppEx::GetKeyboardManager aan.
Example
In het volgende voorbeeld ziet u hoe u een aanwijzer naar een CKeyboardManager object uit een CWinAppEx klasse ophaalt en hoe u alle sneltoetsen weergeeft die zijn gekoppeld aan menuopdrachten. Dit codefragment maakt deel uit van het voorbeeld aangepaste pagina's.
// The GetKeyboardManager method is inherited from the CWinAppEx class.
CKeyboardManager *cKeyboardManager = GetKeyboardManager();
cKeyboardManager->ShowAllAccelerators();
Overnamehiërarchie
Requirements
Header: afxkeyboardmanager.h
CKeyboardManager::CKeyboardManager
Maakt een CKeyboardManager object.
CKeyboardManager();
Opmerkingen
In de meeste gevallen hoeft u niet rechtstreeks een CKeyboardManager maken. Standaard maakt het framework er een voor u. Als u een aanwijzer naar de CKeyboardManageraanwijzer wilt krijgen, roept u CWinAppEx::GetKeyboardManager aan. Als u er handmatig een maakt, moet u deze initialiseren met de methode CWinAppEx::InitKeyboardManager.
CKeyboardManager::CleanUp
Hiermee worden de CKeyboardManager resources vrijgemaakt en worden alle sneltoetstoewijzingen gewist.
static void CleanUp();
Opmerkingen
Zie Toetsenbord- en muisaanpassing voor meer informatie over sneltoetsen.
U hoeft deze functie niet aan te roepen wanneer uw toepassing wordt afgesloten, omdat het framework deze automatisch aanroept tijdens het afsluiten van de toepassing.
CKeyboardManager::FindDefaultAccelerator
Haalt de standaardsneltoets voor de opgegeven opdracht en het opgegeven venster op.
static BOOL FindDefaultAccelerator(
UINT uiCmd,
CString& str,
CFrameWnd* pWndFrame,
BOOL bIsDefaultFrame);
Parameterwaarden
uiCmd
[in] De opdracht-id.
Str
[uit] Een verwijzing naar een CString object.
pWndFrame
[in] Een aanwijzer naar een framevenster.
bIsDefaultFrame
[in] Hiermee geeft u op of het framevenster het standaardframevenster is.
Retourwaarde
Niet-nul als de snelkoppeling wordt gevonden; anders 0.
Opmerkingen
Met deze methode wordt de opdracht opgezoekt die is opgegeven door uiCmd en wordt de standaardsneltoets opgehaald. Vervolgens gebruikt de methode de tekenreeks die aan deze sneltoets is gekoppeld en schrijft de waarde naar de str-parameter .
CKeyboardManager::IsKeyHandled
Bepaalt of de opgegeven sleutel wordt verwerkt door de CKeyboardManager-klasse.
static BOOL __stdcall IsKeyHandled(
WORD nKey,
BYTE fVirt,
CFrameWnd* pWndFrame,
BOOL bIsDefaultFrame);
Parameterwaarden
nKey
[in] De sleutel die moet worden gecontroleerd.
fVirt
[in] Hiermee geeft u het gedrag van de sneltoets. Zie ACCEL-structuur voor een lijst met mogelijke waarden.
pWndFrame
[in] Een framevenster. Met deze methode wordt bepaald of een sneltoets in dit frame wordt verwerkt.
bIsDefaultFrame
[in] Een Booleaanse parameter die aangeeft of pWndFrame het standaardframevenster is.
Retourwaarde
WAAR als de sneltoets wordt verwerkt. FALSE als de sleutel niet wordt verwerkt of als pWndFrame NULL is.
Opmerkingen
De invoerparameters moeten overeenkomen met de vermelding in de acceleratortabel voor zowel nKey als fVirt om te bepalen of een sneltoets wordt verwerkt in pWndFrame.
CKeyboardManager::IsKeyPrintable
Geeft aan of een teken kan worden afgedrukt.
static BOOL __stdcall IsKeyPrintable(const UINT nChar);
Parameterwaarden
Nchar
[in] Het teken dat met deze methode wordt gecontroleerd.
Retourwaarde
Niet-nul als het teken afdrukbaar is, nul als dat niet het is.
Opmerkingen
Deze methode mislukt als een aanroep naar GetKeyboardState mislukt.
CKeyboardManager::IsShowAllAccelerators
Geeft aan of in menu's alle sneltoetsen worden weergegeven die zijn gekoppeld aan menuopdrachten of alleen de standaardsneltoetsen.
static BOOL IsShowAllAccelerators();
Retourwaarde
Niet-nul als de toepassing alle sneltoetsen voor menuopdrachten vermeldt; 0 als de toepassing alleen standaardsneltoetsen weergeeft.
Opmerkingen
De toepassing bevat de sneltoetsen voor menuopdrachten in de menubalk. Gebruik de functie CKeyboardManager::ShowAllAccelerators om te bepalen of de toepassing alle sneltoetsen of alleen de standaardsneltoetsen bevat.
CKeyboardManager::LoadState
Laadt de sneltoetstabellen uit het Windows-register.
BOOL LoadState(
LPCTSTR lpszProfileName = NULL,
CFrameWnd* pDefaultFrame = NULL);
Parameterwaarden
lpszProfileName
[in] Het registerpad waar CKeyboardManager gegevens worden opgeslagen.
pDefaultFrame
[in] Een aanwijzer naar een framevenster dat moet worden gebruikt als het standaardvenster.
Retourwaarde
Niet-nul als de status is geladen of anders 0.
Opmerkingen
Als de parameter lpszProfileName NULL is, controleert deze methode de standaardregisterlocatie voor CKeyboardManager gegevens. De standaardregisterlocatie wordt opgegeven door de CWinAppEx-klasse. De gegevens moeten eerder worden geschreven met de methode CKeyboardManager::SaveState.
Als u geen standaardvenster opgeeft, wordt het hoofdframevenster van uw toepassing gebruikt.
CKeyboardManager::ResetAll
Laadt de sneltoetstabellen opnieuw vanuit de toepassingsresource.
void ResetAll();
Opmerkingen
Met deze functie worden de sneltoetsen gewist die zijn opgeslagen in het CKeyboardManager exemplaar. Vervolgens wordt de status van het toetsenbordbeheer opnieuw geladen vanuit de toepassingsresource.
CKeyboardManager::SaveState
Hiermee worden de sneltoetstabellen opgeslagen in het Windows-register.
BOOL SaveState(
LPCTSTR lpszProfileName = NULL,
CFrameWnd* pDefaultFrame = NULL);
Parameterwaarden
lpszProfileName
[in] Het registerpad voor het opslaan van de CKeyboardManager status.
pDefaultFrame
[in] Een aanwijzer naar een framevenster dat het standaardvenster wordt.
Retourwaarde
Niet-zero als de status van de toetsenbordbeheer is opgeslagen, of anders 0.
Opmerkingen
Als de parameter lpszProfileName NULL is, schrijft deze methode de CKeyboardManager status naar de standaardlocatie die is opgegeven door de CWinAppEx-klasse. Als u een locatie opgeeft, kunt u de gegevens later laden met behulp van de methode CKeyboardManager::LoadState.
Als u geen standaardvenster opgeeft, wordt het hoofdframevenster gebruikt als het standaardvenster.
CKeyboardManager::ShowAllAccelerators
Geeft alle sneltoetsen weer die zijn gekoppeld aan menuopdrachten.
static void ShowAllAccelerators(
BOOL bShowAll = TRUE,
LPCTSTR lpszDelimiter = _afxDefaultAcceleratorDelimiter);
Parameterwaarden
bShowAll
[in] Als WAAR, worden alle sneltoetsen weergegeven. Als ONWAAR, wordt alleen de eerste sneltoets weergegeven.
lpszDelimiter
[in] Een tekenreeks die moet worden ingevoegd tussen sneltoetsen. Dit scheidingsteken heeft geen effect als er slechts één sneltoets wordt weergegeven.
Opmerkingen
Als aan een opdracht standaard meer dan één sneltoets is gekoppeld, wordt alleen de eerste sneltoets weergegeven. Met deze functie kunt u alle sneltoetsen weergeven die aan alle opdrachten zijn gekoppeld.
De sneltoetsen worden weergegeven naast de opdracht in de menubalk. Als alle sneltoetsen worden weergegeven, scheidt de tekenreeks van lpszDelimiter afzonderlijke sneltoetsen.
CKeyboardManager::TranslateCharToUpper
Converteert een teken naar het bovenste register.
static UINT TranslateCharToUpper(const UINT nChar);
Parameterwaarden
Nchar
[in] Het teken dat moet worden geconverteerd.
Retourwaarde
Het teken dat het bovenste register van de invoerparameter is.
CKeyboardManager::UpdateAccelTable
Hiermee werkt u een sneltoetstabel bij met een nieuwe sneltoetstabel.
BOOL UpdateAccelTable(
CMultiDocTemplate* pTemplate,
LPACCEL lpAccel,
int nSize,
CFrameWnd* pDefaultFrame = NULL);
BOOL UpdateAccelTable(
CMultiDocTemplate* pTemplate,
HACCEL hAccelNew,
CFrameWnd* pDefaultFrame = NULL);
Parameterwaarden
pTemplate
[in] Een aanwijzer naar een documentsjabloon.
lpAccel
[in] Een aanwijzer naar de nieuwe sneltoets.
nSize
[in] De grootte van de nieuwe snelkoppelingstabel.
pDefaultFrame
[in] Een aanwijzer naar het standaardframevenster.
hAccelNew
[in] Een ingang naar de nieuwe snelkoppelingstabel.
Retourwaarde
Niet-nul als de methode is geslaagd; anders 0.
Opmerkingen
Gebruik deze functie om de bestaande sneltoetsentabel te vervangen door nieuwe sneltoetsen voor verschillende framevensterobjecten. De functie ontvangt een documentsjabloon als parameter om toegang te krijgen tot alle framevensterobjecten die zijn verbonden met de opgegeven documentsjabloon.
Zie ook
Hiërarchiegrafiek
Klassen
CWinAppEx-klasse
CWinAppEx::InitKeyboardManager
toetsenbord en muis aanpassen