Megosztás a következőn keresztül:


CKeyboardManager osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

A főkeretablak és a gyermekkeret ablakának billentyűparancstábláit kezeli.

Szemantika

class CKeyboardManager : public CObject

Tagok

Nyilvános konstruktorok

Név Description
CKeyboardManager::CKeyboardManager Egy CKeyboardManager objektumot hoz létre.

Nyilvános metódusok

Név Description
CKeyboardManager::CleanUp Törli a billentyűparancstáblákat.
CKeyboardManager::FindDefaultAccelerator Lekéri a megadott parancs és ablak alapértelmezett billentyűparancsát.
CKeyboardManager::IsKeyHandled Meghatározza, hogy a gyorsítótábla kezeli-e a kulcsot.
CKeyboardManager::IsKeyPrintable Azt jelzi, hogy egy karakter nyomtatható-e.
CKeyboardManager::IsShowAllAccelerators Azt jelzi, hogy a menük megjelenítik-e egy parancs összes billentyűparancsát, vagy csak az alapértelmezett billentyűparancsot.
CKeyboardManager::LoadState Betölti a billentyűparancstáblákat a Windows beállításjegyzékéből.
CKeyboardManager::ResetAll Újra betölti a billentyűparancstáblákat az alkalmazáserőforrásból.
CKeyboardManager::SaveState Menti a billentyűparancstáblákat a Windows beállításjegyzékbe.
CKeyboardManager::ShowAllAccelerators Megadja, hogy a keretrendszer megjeleníti-e az összes parancs összes billentyűparancsát, vagy az egyes parancsokhoz tartozó egyetlen billentyűparancsot. Ez a módszer nem érinti azokat a parancsokat, amelyekhez csak egy társított billentyűparancs tartozik.
CKeyboardManager::TranslateCharToUpper Átalakít egy karaktert a felső regiszterbe.
CKeyboardManager::UpdateAccelTable Új billentyűparancstáblával frissíti a billentyűparancstáblát.

Megjegyzések

Az osztály tagjai lehetővé teszik a billentyűparancstáblák mentését és betöltését a Windows-beállításjegyzékbe, sablonnal frissítheti a rövid kivágású kulcstáblákat, és megkeresheti egy parancs alapértelmezett billentyűparancsát egy keretablakban. Emellett az CKeyboardManager objektum lehetővé teszi a billentyűparancsok megjelenítésének szabályozását a felhasználó számára.

Ne hozzon létre manuálisan objektumot CKeyboardManager . Ezt az alkalmazás keretrendszere automatikusan létrehozza. A CWinAppEx::InitKeyboardManager metódust azonban az alkalmazás inicializálási folyamata során kell meghívnia. Ha az alkalmazás billentyűzetkezelőjéhez szeretne mutatót kapni, hívja fel a CWinAppEx::GetKeyboardManager parancsot.

Example

Az alábbi példa bemutatja, hogyan kérhető le egy egérmutató egy CKeyboardManager objektumhoz egy CWinAppEx osztályból, és hogyan jeleníthető meg a menüparancsokhoz társított összes billentyűparancs. Ez a kódrészlet az Egyéni lapok minta része.

// The GetKeyboardManager method is inherited from the CWinAppEx class.
CKeyboardManager *cKeyboardManager = GetKeyboardManager();
cKeyboardManager->ShowAllAccelerators();

Öröklési hierarchia

CObject

CKeyboardManager

Requirements

Fejléc: afxkeyboardmanager.h

CKeyboardManager::CKeyboardManager

Egy CKeyboardManager objektumot hoz létre.

CKeyboardManager();

Megjegyzések

A legtöbb esetben nem kell közvetlenül létrehoznia.CKeyboardManager Alapértelmezés szerint a keretrendszer létrehoz egyet az Ön számára. A CWinAppEx::GetKeyboardManager hívásával mutatót CKeyboardManagerkaphat. Ha manuálisan hoz létre egyet, inicializálnia kell a CWinAppEx::InitKeyboardManager metódussal.

CKeyboardManager::CleanUp

Felszabadítja az CKeyboardManager erőforrásokat, és törli az összes billentyűparancs-leképezést.

static void CleanUp();

Megjegyzések

A billentyűparancsokról további információt a Billentyűzet és az Egér testreszabása című témakörben talál.

Nem kell meghívnia ezt a függvényt, amikor az alkalmazás kilép, mert a keretrendszer automatikusan meghívja az alkalmazás kilépése során.

CKeyboardManager::FindDefaultAccelerator

Lekéri a megadott parancs és ablak alapértelmezett billentyűparancsát.

static BOOL FindDefaultAccelerator(
    UINT uiCmd,
    CString& str,
    CFrameWnd* pWndFrame,
    BOOL bIsDefaultFrame);

Paraméterek

uiCmd
[in] A parancs azonosítója.

Str
[kifelé] Egy objektumra mutató CString hivatkozás.

pWndFrame
[in] Mutató egy keretablakra.

bIsDefaultFrame
[in] Megadja, hogy a keretablak az alapértelmezett keretablak-e.

Visszaadott érték

Nemzero, ha a parancsikon megtalálható; egyéb esetben 0.

Megjegyzések

Ez a metódus megkeresi az uiCmd által megadott parancsot, és lekéri az alapértelmezett billentyűparancsot. Ezután a metódus felveszi a billentyűparancshoz társított sztringet, és az értéket az str paraméterbe írja.

CKeyboardManager::IsKeyHandled

Meghatározza, hogy a megadott kulcsot a CKeyboardManager osztály kezeli-e.

static BOOL __stdcall IsKeyHandled(
    WORD nKey,
    BYTE fVirt,
    CFrameWnd* pWndFrame,
    BOOL bIsDefaultFrame);

Paraméterek

nKey
[in] Az ellenőrizni kívánt kulcs.

fVirt
[in] A billentyűparancs viselkedését adja meg. A lehetséges értékek listáját az ACCEL-struktúra című témakörben találja.

pWndFrame
[in] Egy keretablak. Ez a metódus határozza meg, hogy a keretben egy billentyűparancs van-e kezelve.

bIsDefaultFrame
[in] Logikai paraméter, amely azt jelzi, hogy a pWndFrame az alapértelmezett keretablak-e.

Visszaadott érték

IGAZ, ha a billentyűparancs kezelése megtörtént. HAMIS, ha a kulcs nincs kezelve, vagy ha a pWndFrame NULL értékű.

Megjegyzések

A bemeneti paramétereknek meg kell egyeznie az nKey és az fVirt gyorsítótáblájának bejegyzésével annak megállapításához, hogy a pWndFrame egy billentyűparancsot kezel-e.

CKeyboardManager::IsKeyPrintable

Azt jelzi, hogy egy karakter nyomtatható-e.

static BOOL __stdcall IsKeyPrintable(const UINT nChar);

Paraméterek

nChar
[in] Az a karakter, amelyet ez a metódus ellenőriz.

Visszaadott érték

Nonzero, ha a karakter nyomtatható, nulla, ha nem.

Megjegyzések

Ez a metódus meghiúsul, ha a GetKeyboardState hívása meghiúsul.

CKeyboardManager::IsShowAllAccelerators

Azt jelzi, hogy a menük megjelenítik-e a menüparancsokhoz társított összes billentyűparancsot, vagy csak az alapértelmezett billentyűparancsokat.

static BOOL IsShowAllAccelerators();

Visszaadott érték

Nonzero, ha az alkalmazás felsorolja a menüparancsok összes billentyűparancsát; 0, ha az alkalmazás csak az alapértelmezett billentyűparancsokat jeleníti meg.

Megjegyzések

Az alkalmazás felsorolja a menüparancsok billentyűparancsait a menüsávon. A CKeyboardManager::ShowAllAccelerators függvénnyel szabályozhatja, hogy az alkalmazás felsorolja-e az összes billentyűparancsot, vagy csak az alapértelmezett billentyűparancsokat.

CKeyboardManager::LoadState

Betölti a billentyűparancstáblákat a Windows beállításjegyzékéből.

BOOL LoadState(
    LPCTSTR lpszProfileName = NULL,
    CFrameWnd* pDefaultFrame = NULL);

Paraméterek

lpszProfileName
[in] A beállításjegyzék elérési útja, ahol CKeyboardManager az adatok mentésre kerülnek.

pDefaultFrame
[in] Az alapértelmezett ablakként használni kívánt keretablakra mutató mutató.

Visszaadott érték

Nemzero, ha az állapot betöltése sikeresen megtörtént, vagy 0 máskülönben.

Megjegyzések

Ha az lpszProfileName paraméter NULL értékű, ez a metódus ellenőrzi az adatok alapértelmezett beállításjegyzék-helyét CKeyboardManager . A beállításjegyzék alapértelmezett helyét a CWinAppEx osztály adja meg. Az adatokat korábban a CKeyboardManager::SaveState metódussal kell írni.

Ha nem ad meg alapértelmezett ablakot, a rendszer az alkalmazás fő keretablakát használja.

CKeyboardManager::ResetAll

Újra betölti a billentyűparancstáblákat az alkalmazáserőforrásból.

void ResetAll();

Megjegyzések

Ez a függvény törli a példányban CKeyboardManager tárolt parancsikonokat. Ezután újra betölti a billentyűzetkezelő állapotát az alkalmazáserőforrásból.

CKeyboardManager::SaveState

Menti a billentyűparancstáblákat a Windows beállításjegyzékbe.

BOOL SaveState(
    LPCTSTR lpszProfileName = NULL,
    CFrameWnd* pDefaultFrame = NULL);

Paraméterek

lpszProfileName
[in] Az állapot mentésének beállításjegyzékbeli CKeyboardManager elérési útja.

pDefaultFrame
[in] Mutató egy keretablakra, amely az alapértelmezett ablak lesz.

Visszaadott érték

Nem kötelező, ha a billentyűzetkezelő állapota sikeresen mentve lett, vagy 0 ellenkező esetben.

Megjegyzések

Ha az lpszProfileName paraméter NULL értékű, ez a metódus a CKeyboardManagerCWinAppEx osztály által megadott alapértelmezett helyre írja az állapotot. Ha megad egy helyet, később betöltheti az adatokat a CKeyboardManager::LoadState metódussal.

Ha nem ad meg alapértelmezett ablakot, a rendszer a fő keretablakot használja alapértelmezett ablakként.

CKeyboardManager::ShowAllAccelerators

Megjeleníti a menüparancsokhoz társított összes billentyűparancsot.

static void ShowAllAccelerators(
    BOOL bShowAll = TRUE,
    LPCTSTR lpszDelimiter = _afxDefaultAcceleratorDelimiter);

Paraméterek

bShowAll
[in] Ha IGAZ, az összes billentyűparancs megjelenik. Ha HAMIS, csak az első billentyűparancs jelenik meg.

lpszDelimiter
[in] A billentyűparancsok közé beszúrandó sztring. Ennek a határolónak nincs hatása, ha csak egy billentyűparancs jelenik meg.

Megjegyzések

Alapértelmezés szerint, ha egy parancshoz több billentyűparancs van társítva, csak az első billentyűparancs jelenik meg. Ez a függvény lehetővé teszi az összes parancshoz társított billentyűparancsok felsorolását.

A billentyűparancsok a parancs mellett jelennek meg a menüsávon. Ha az összes billentyűparancs megjelenik, az lpszDelimiter által biztosított sztring elkülöníti az egyes billentyűparancsokat.

CKeyboardManager::TranslateCharToUpper

Átalakít egy karaktert a felső regiszterbe.

static UINT TranslateCharToUpper(const UINT nChar);

Paraméterek

nChar
[in] Az átalakítandó karakter.

Visszaadott érték

Az a karakter, amely a bemeneti paraméter felső regisztere.

CKeyboardManager::UpdateAccelTable

Új billentyűparancstáblával frissíti a billentyűparancstáblát.

BOOL UpdateAccelTable(
    CMultiDocTemplate* pTemplate,
    LPACCEL lpAccel,
    int nSize,
    CFrameWnd* pDefaultFrame = NULL);

BOOL UpdateAccelTable(
    CMultiDocTemplate* pTemplate,
    HACCEL hAccelNew,
    CFrameWnd* pDefaultFrame = NULL);

Paraméterek

pTemplate
[in] Egy dokumentumsablonra mutató mutató.

lpAccel
[in] Mutató az új billentyűparancsra.

nSize
[in] Az új billentyűparancstábla mérete.

pDefaultFrame
[in] Az alapértelmezett keretablakra mutató mutató.

hAccelNew
[in] Az új billentyűparancstábla leírója.

Visszaadott érték

Nonzero, ha a módszer sikeres; egyéb esetben 0.

Megjegyzések

Ezzel a függvénnyel lecserélheti a meglévő billentyűparancstáblát több keretablak-objektum új billentyűparancsára. A függvény paraméterként kap egy dokumentumsablont, amely hozzáférést biztosít az adott dokumentumsablonhoz csatlakoztatott összes keretablak-objektumhoz.

Lásd még

hierarchiadiagram
osztályok
CWinAppEx osztály
CWinAppEx::InitKeyboardManager
billentyűzet- és egér testreszabási