Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
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