Aracılığıyla paylaş


Kısayol Tuşu Kontrolleri Hakkında

Kısayol tuşu denetimi, kullanıcının kısayol tuşu olarak kullanılacak tuş vuruşlarının bir bileşimini girmesini sağlayan bir penceredir. Kısayol tuşu, kullanıcının hızlı bir şekilde eylem gerçekleştirmek için basabileceği bir tuş bileşimidir. Örneğin, kullanıcı belirli bir pencereyi etkinleştiren ve z sırasının en üstüne getiren bir kısayol tuşu oluşturabilir. Kısayol tuşu denetimi kullanıcının seçimlerini görüntüler ve kullanıcının geçerli bir tuş bileşimi seçmesini sağlar. Aşağıdaki ekran görüntüsünde, kullanıcı Alt tuşuna bastıktan sonra bir iletişim kutusunda kısayol tuşu denetiminin nasıl göründüğü gösterilir.

kısayol tuşu denetimi içeren bir iletişim kutusunun ekran görüntüsü

Kısayol Tuşu Kontrollerini Kullanma

Kullanıcı kısayol tuşu olarak kullanılacak bir tuş bileşimi girdiğinde, anahtarların adları kısayol tuşu denetiminde görünür. Tuş bileşimi bir değiştirici tuş (CTRL, ALT veya SHIFT gibi) ve eşlik eden bir anahtardan (karakter tuşu, ok tuşu, işlev tuşu vb.) oluşabilir.

Kullanıcı bir tuş bileşimi seçtikten sonra uygulama kısayol tuşu denetiminden tuş bileşimini alır ve bunu kullanarak sistemde bir kısayol tuşu ayarlar. Sık erişimli anahtar denetiminden alınan bilgiler değiştirici anahtarı ve eşlik eden anahtarın sanal anahtar kodunu gösteren bir bayrak içerir.

Uygulama, genel bir kısayol tuşu veya iş parçacığına özgü bir kısayol tuşu ayarlamak için bir kısayol tuşu denetimi tarafından sağlanan bilgileri kullanabilir. Genel kısayol tuşu belirli bir pencereyle ilişkilendirilir; kullanıcının sistemin herhangi bir bölümünden pencereyi etkinleştirmesine olanak tanır. Uygulama, WM_SETHOTKEY iletisini kullanarak genel bir kısayol anahtarı ayarlar. Kullanıcı genel kısayol tuşuna her bastığında, WM_SETHOTKEY'de belirtilen pencere SC_HOTKEY değerini belirten bir WM_SYSCOMMAND iletisi alır. Bu ileti, bu iletiyi alan pencereyi etkinleştirir. Kısayol tuşu, WM_SETHOTKEY çağıran uygulama çıkana kadar geçerli kalır.

İş parçacığına özgü bir kısayol tuşu, belirli bir iş parçacığının başına gönderilen bir WM_HOTKEY iletisi oluşturur, böylece ileti döngüsünün bir sonraki yinelemesi tarafından kaldırılır. Uygulama, RegisterHotKey işlevini kullanarak iş parçacığına özgü bir kısayol anahtarı ayarlar.

Sık Erişimli Anahtar Denetim İletileri

Bir kısayol tuşu denetimi oluşturduktan sonra, bir uygulama üç ileti kullanarak bu denetimle etkileşim kurar: HKM_SETRULES, HKM_SETHOTKEYve HKM_GETHOTKEY.

Bir uygulama, geçersiz kısayol tuşları olarak kabul edilen bir dizi CTRL, ALT ve SHIFT tuş bileşimi belirtmek için HKM_SETRULES iletisini gönderebilir. Uygulama geçersiz bir tuş bileşimi belirtiyorsa, kullanıcı geçersiz bileşimi seçtiğinde kullanılacak varsayılan değiştirici bileşimini de belirtmelidir. Kullanıcı geçersiz birleşimi girdiğinde, sistem geçersiz birleşim ve varsayılan birleşim üzerinde mantıksal VEYA işlemi gerçekleştirir. Sonuç geçerli bir birleşim olarak kabul edilir; bir dizeye dönüştürülür ve denetimde görüntülenir.

HKM_SETHOTKEY iletisi, bir uygulamanın kısayol tuşu denetimi için kısayol tuşu bileşimini ayarlamasına olanak tanır. Bu ileti, kısayol tuşu denetimi oluşturulduğunda da genellikle kullanılır.

Uygulamalar, kullanıcı tarafından seçilen kısayol anahtarının sanal anahtar kodunu ve değiştirici bayraklarını almak için HKM_GETHOTKEY iletisini kullanır.

Kısayol Tuşu Denetimi Bildirimleri

Kısayol tuşu denetimi, WM_NOTIFY iletisi aracılığıyla herhangi bir bildirim kodu göndermez. Ancak kullanıcı denetimin içeriğini değiştirdiğinde WM_COMMAND iletisi aracılığıyla EN_CHANGE bildirimi gönderir.

Varsayılan Kısayol Anahtarı İletisi İşleme

Bu bölümde, kısayol tuşu denetimleriyle kullanılan önceden tanımlanmış HOTKEY_CLASS pencere sınıfı için pencere yordamınca işlenen pencere mesajları açıklanmaktadır.

İleti İşleme gerçekleştirildi
WM_CHAR Sanal anahtar kodunu alır.
WM_CREATE Sık erişimli anahtar denetimini başlatır, tüm sık erişimli anahtar kurallarını temizler ve sistem yazı tipini kullanır.
WM_ERASEBKGND Şapka işaretini gizler, DefWindowProc işlevini çağırır ve şapka işaretini yeniden gösterir.
WM_GETDLGCODE DLGC_WANTCHARS ve DLGC_WANTARROWS değerlerinin bir bileşimini döndürür.
WM_GETFONT Yazı tipini alır.
WM_KEYDOWN Anahtar ENTER, SEKME TUŞU, BOŞLUK ÇUBUĞU, DEL, ESC veya GERİ ALMA TUŞU ise DefWindowProc işlevini çağırır. Tuş SHIFT, CTRL veya ALT ise, birleşimin geçerli olup olmadığını denetler ve geçerliyse kısayol tuşunu bileşimini kullanarak ayarlar. Diğer tüm tuşlar, önce geçerlilikleri denetlenmeden kısayol tuşları olarak ayarlanır.
WM_KEYUP Sanal anahtar kodunu alır.
WM_KILLFOCUS İmleci yok eder.
WM_LBUTTONDOWN Odağı pencereye ayarlar.
WM_NCCREATE WS_EX_CLIENTEDGE pencere stilini ayarlar.
WM_PAINT Kısayol tuşu kontrolünü boyar.
WM_SETFOCUS Şapka işaretini oluşturur ve gösterir.
WM_SETFONT Yazı tipini ayarlar.
WM_SYSCHAR Sanal anahtar kodunu alır.
WM_SYSKEYDOWN Anahtar ENTER, SEKME, ARA ÇUBUĞU, DEL, ESC veya GERİ AL ise DefWindowProc işlevini çağırır. Tuş SHIFT, CTRL veya ALT ise, birleşimin geçerli olup olmadığını denetler ve geçerliyse kısayol tuşunu bileşimini kullanarak ayarlar. Diğer tüm tuşlar, önce geçerlilikleri denetlenmeden kısayol tuşları olarak ayarlanır.
WM_SYSKEYUP Sanal anahtar kodunu alır.