Aracılığıyla paylaş


CKeyboardManager Sınıfı

Ana çerçeve penceresi ve alt çerçeve pencereleri için kısayol tuşu tablolarını yönetir.

Sözdizimi

class CKeyboardManager : public CObject

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CKeyboardManager::CKeyboardManager Bir CKeyboardManager nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CKeyboardManager::CleanUp Kısayol tuşu tablolarını temizler.
CKeyboardManager::FindDefaultAccelerator Belirtilen komut ve pencere için varsayılan kısayol tuşunu alır.
CKeyboardManager::IsKeyHandled Bir anahtarın hızlandırıcı tablosu tarafından işlenip işlenmeyeceğini belirler.
CKeyboardManager::IsKeyPrintable Bir karakterin yazdırılabilir olup olmadığını gösterir.
CKeyboardManager::IsShowAllAccelerators Menülerin bir komut için tüm kısayol tuşlarını mı yoksa yalnızca varsayılan kısayol tuşunu mu gösterdiğini gösterir.
CKeyboardManager::LoadState Windows kayıt defterinden kısayol tuşu tablolarını yükler.
CKeyboardManager::ResetAll Uygulama kaynağından kısayol tuşu tablolarını yeniden yükler.
CKeyboardManager::SaveState Kısayol tuşu tablolarını Windows kayıt defterine kaydeder.
CKeyboardManager::ShowAllAccelerators Çerçevenin tüm komutlar için tüm kısayol tuşlarını mı yoksa her komut için tek bir kısayol tuşunu mu görüntülediğini belirtir. Bu yöntem, yalnızca bir ilişkili kısayol tuşu olan komutları etkilemez.
CKeyboardManager::TranslateCharToUpper Bir karakteri üst yazmaç değerine dönüştürür.
CKeyboardManager::UpdateAccelTable Kısayol tuşu tablosunu yeni bir kısayol tuşu tablosuyla güncelleştirir.

Açıklamalar

Bu sınıfın üyeleri, kısayol tuşu tablolarını Kaydetmenize ve Windows kayıt defterine yüklemenize, kısa kesme tuşu tablolarını güncelleştirmek için bir şablon kullanmanıza ve çerçeve penceresinde bir komutun varsayılan kısayol tuşunu bulmanıza olanak tanır. Buna ek olarak, nesnesi kısayol tuşlarının CKeyboardManager kullanıcıya nasıl görüntüleneceğini denetlemenizi sağlar.

Nesneyi el ile oluşturmamalısınız CKeyboardManager . Uygulamanızın çerçevesi tarafından otomatik olarak oluşturulur. Ancak, uygulamanızın başlatma işlemi sırasında CWinAppEx::InitKeyboardManager çağrısı yapmalısınız. Uygulamanızın klavye yöneticisine yönelik bir işaretçi almak için CWinAppEx::GetKeyboardManager'ı çağırın.

Örnek

Aşağıdaki örnek, bir sınıftan CWinAppEx bir CKeyboardManager nesneye işaretçi alma ve menü komutları ile ilişkili tüm kısayol tuşlarını göstermeyi gösterir. Bu kod parçacığı Özel Sayfalar örneğinin bir parçasıdır.

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

Devralma Hiyerarşisi

CObject

CKeyboardManager

Gereksinimler

Üst bilgi: afxkeyboardmanager.h

CKeyboardManager::CKeyboardManager

Bir CKeyboardManager nesne oluşturur.

CKeyboardManager();

Açıklamalar

Çoğu durumda, doğrudan bir CKeyboardManager oluşturmanız gerekmez. Varsayılan olarak, çerçeve sizin için bir tane oluşturur. işaretçisini almak için CKeyboardManagerCWinAppEx::GetKeyboardManager'ı çağırın. El ile oluşturursanız, bunu CWinAppEx::InitKeyboardManager yöntemiyle başlatmanız gerekir.

CKeyboardManager::CleanUp

Kaynakları serbest bırakma CKeyboardManager ve tüm kısayol tuşu eşlemelerini temizleme.

static void CleanUp();

Açıklamalar

Kısayol tuşları hakkında daha fazla bilgi için bkz . Klavye ve Fare Özelleştirmesi.

Uygulama çıkışı sırasında çerçeve tarafından otomatik olarak çağırıldığından, uygulamanız çıktığında bu işlevi çağırmanız gerekmez.

CKeyboardManager::FindDefaultAccelerator

Belirtilen komut ve pencere için varsayılan kısayol tuşunu alır.

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

Parametreler

uiCmd
[in] Komut kimliği.

str
[out] Bir nesneye CString başvuru.

pWndFrame
[in] Çerçeve penceresinin işaretçisi.

bIsDefaultFrame
[in] Çerçeve penceresinin varsayılan çerçeve penceresi olup olmadığını belirtir.

Dönüş Değeri

Kısayol bulunursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu yöntem uiCmd tarafından belirtilen komutu arar ve varsayılan kısayol tuşunu alır. Ardından yöntemi bu kısayol tuşuyla ilişkili dizeyi alır ve değeri str parametresine yazar.

CKeyboardManager::IsKeyHandled

Belirtilen anahtarın CKeyboardManager Sınıfı tarafından işlenip işlenmediğini belirler.

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

Parametreler

nKey
[in] Denetlenecek anahtar.

fVirt
[in] Kısayol tuşunun davranışını belirtir. Olası değerlerin listesi için bkz . ACCEL Yapısı.

pWndFrame
[in] Çerçeve penceresi. Bu yöntem, bir kısayol tuşunun bu çerçevede işlenip işlenmeyeceğini belirler.

bIsDefaultFrame
[in] pWndFrame'in varsayılan çerçeve penceresi olup olmadığını gösteren boole parametresi.

Dönüş Değeri

Kısayol tuşu işlenirse TRUE. Anahtar işlenmediyse veya pWndFrame NULL ise YANLIŞ.

Açıklamalar

Giriş parametreleri, bir kısayol tuşunun pWndFrame'de işlenip işlenmediğini belirlemek için hem nKey hem de fVirt için hızlandırıcı tablosundaki girdiyle eşleşmelidir.

CKeyboardManager::IsKeyPrintable

Bir karakterin yazdırılabilir olup olmadığını gösterir.

static BOOL __stdcall IsKeyPrintable(const UINT nChar);

Parametreler

nChar
[in] Bu yöntemin denetlediğini karakter.

Dönüş Değeri

Karakter yazdırılabilirse sıfır olmayan, yazdırılmadıysa sıfır.

Açıklamalar

GetKeyboardState çağrısı başarısız olursa bu yöntem başarısız olur.

CKeyboardManager::IsShowAllAccelerators

Menülerin, menü komutları ile ilişkili tüm kısayol tuşlarını mı yoksa yalnızca varsayılan kısayol tuşlarını mı gösterdiğini gösterir.

static BOOL IsShowAllAccelerators();

Dönüş Değeri

Uygulama menü komutları için tüm kısayol tuşlarını listelediyse sıfır olmayan; Uygulama yalnızca varsayılan kısayol tuşlarını görüntülüyorsa 0.

Açıklamalar

Uygulama, menü çubuğundaki menü komutları için kısayol tuşlarını listeler. Uygulamanın tüm kısayol tuşlarını mı yoksa yalnızca varsayılan kısayol tuşlarını mı listelediğini denetlemek için CKeyboardManager::ShowAllAccelerators işlevini kullanın.

CKeyboardManager::LoadState

Windows kayıt defterinden kısayol tuşu tablolarını yükler.

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

Parametreler

lpszProfileName
[in] Verilerin kaydedildiği CKeyboardManager kayıt defteri yolu.

pDefaultFrame
[in] Varsayılan pencere olarak kullanılacak çerçeve penceresi işaretçisi.

Dönüş Değeri

Durum başarıyla yüklendiyse sıfır olmayan veya aksi halde 0.

Açıklamalar

lpszProfileName parametresi NULL ise, bu yöntem veriler için CKeyboardManager varsayılan kayıt defteri konumunu denetler. Varsayılan kayıt defteri konumu CWinAppEx Sınıfı tarafından belirtilir. Verilerin daha önce CKeyboardManager::SaveState yöntemiyle yazılması gerekir.

Varsayılan bir pencere belirtmezseniz, uygulamanızın ana çerçeve penceresi kullanılır.

CKeyboardManager::ResetAll

Uygulama kaynağından kısayol tuşu tablolarını yeniden yükler.

void ResetAll();

Açıklamalar

Bu işlev, örnekte CKeyboardManager depolanan kısayolları temizler. Ardından klavye yöneticisinin durumunu uygulama kaynağından yeniden yükler.

CKeyboardManager::SaveState

Kısayol tuşu tablolarını Windows kayıt defterine kaydeder.

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

Parametreler

lpszProfileName
[in] Durumu kaydetmek CKeyboardManager için kayıt defteri yolu.

pDefaultFrame
[in] Varsayılan pencereye dönüşen çerçeve penceresi işaretçisi.

Dönüş Değeri

Klavye yöneticisi durumu başarıyla kaydedildiyse sıfır olmayan veya aksi halde 0.

Açıklamalar

lpszProfileName parametresi NULL ise, bu yöntem durumu CWinAppEx Sınıfı tarafından belirtilen varsayılan konuma yazarCKeyboardManager. Bir konum belirtirseniz, daha sonra CKeyboardManager::LoadState yöntemini kullanarak verileri yükleyebilirsiniz.

Varsayılan bir pencere belirtmezseniz, ana çerçeve penceresi varsayılan pencere olarak kullanılır.

CKeyboardManager::ShowAllAccelerators

Menü komutları ile ilişkili tüm kısayol tuşlarını gösterir.

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

Parametreler

bShowAll
[in] TRUE ise, tüm kısayol tuşları görüntülenir. YANLIŞ ise, yalnızca ilk kısayol tuşu görüntülenir.

lpszDelimiter
[in] Kısayol tuşları arasına eklenecek dize. Yalnızca bir kısayol tuşu görüntülendiğinde bu sınırlayıcının hiçbir etkisi olmaz.

Açıklamalar

Varsayılan olarak, komutla ilişkilendirilmiş birden fazla kısayol tuşu varsa, yalnızca ilk kısayol tuşu gösterilir. Bu işlev, tüm komutlarla ilişkili tüm kısayol tuşlarını listelemenizi sağlar.

Kısayol tuşları, menü çubuğundaki komutun yanında listelenir. Tüm kısayol tuşları görüntülenirse, lpszDelimiter tarafından sağlanan dize tek tek kısayol tuşlarını ayırır.

CKeyboardManager::TranslateCharToUpper

Bir karakteri üst yazmaç değerine dönüştürür.

static UINT TranslateCharToUpper(const UINT nChar);

Parametreler

nChar
[in] Dönüştürülecek karakter.

Dönüş Değeri

Giriş parametresinin üst yazmaç karakteri.

CKeyboardManager::UpdateAccelTable

Kısayol tuşu tablosunu yeni bir kısayol tuşu tablosuyla güncelleştirir.

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

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

Parametreler

pTemplate
[in] Belge şablonunun işaretçisi.

lpAccel
[in] Yeni kısayol tuşunun işaretçisi.

nSize
[in] Yeni kısayol tablosunun boyutu.

pDefaultFrame
[in] Varsayılan çerçeve penceresinin işaretçisi.

hAccelNew
[in] Yeni kısayol tablosunun tutamacı.

Dönüş Değeri

Yöntem başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Var olan kısayol tablosunu çeşitli çerçeve penceresi nesneleri için yeni kısayol tuşlarıyla değiştirmek için bu işlevi kullanın. İşlev, verilen belge şablonuna bağlı tüm çerçeve penceresi nesnelerine erişim elde etmek için parametre olarak bir belge şablonu alır.

Ayrıca bkz.

Hiyerarşi Grafiği
Sınıflar
CWinAppEx Sınıfı
CWinAppEx::InitKeyboardManager
Klavye ve Fare Özelleştirmesi