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
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 CKeyboardManager
CWinAppEx::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