Hızlandırıcı tablolar

Bir Hızlandırıcı tablosu , her bir bireysel Hızlandırıcı tanımlayan bir dizi accel yapıların oluşur. Her accel yapısı aşağıdaki bilgileri içerir:

Belirli bir iş parçacığının Hızlandırıcı tuş vuruşlarını işlemek için geliştirici parçacığının ileti sırası ile ilişkili ileti döngüsü içinde TranslateAccelerator işlevi çağırmalıdır. TranslateAccelerator işlevi, klavye girişi Hızlandırıcı tablosunda bir girdiyle aynı tuş bileşimlerini kontrol ileti sırası izler. TranslateAccelerator bir maç bulduğunda, klavye girişlerini (yani, wm_keyup ve wm_keydown iletileri) wm_command ya da wm_syscommand bir ileti çevirir ve sonra iletiyi belirtilen penceresinin pencere yordamı gönderir. Hızlandırıcılar'ı nasıl işleneceğini aşağıda gösterilmiştir.

Wm_command ileti, ileti oluşturmak TranslateAccelerator neden Hızlandırıcı tanımlayıcısını içerir. Pencere yordamı tanımlayıcı iletinin kaynağını belirlemek için inceler ve sonra iletiyi buna göre işler.

Hızlandırıcı tablolar, iki farklı düzeyde mevcut. Sistem, tüm uygulamalar için geçerli tek, sistem genelindeki Hızlandırıcı tablo korur. Uygulama Hızlandırıcısı tablosu değiştiremezsiniz. Hızlandırıcı tablosu tarafından sağlanan Hızlandırıcılar açıklama için bkz: Hızlandırıcı tuş atamaları.

Sistem ayrıca, Hızlandırıcı tabloları her uygulama için tutar. Uygulama Hızlandırıcısı tabloları kendi windows ile kullanmak için herhangi bir sayıda tanımlayabilirsiniz. Benzersiz bir 32-bit kolu (haccel), her tabloda tanımlanır. Ancak, tek bir Hızlandırıcı tablo bir zamanda belirli bir iş parçacığının etkin olabilir. TranslateAccelerator işlevine geçirilen Hızlandırıcı tablo tanıtıcısı Hızlandırıcı tablo bir iş parçacığı için etkin olduğunu belirler. Etkin Hızlandırıcı tablo TranslateAccelerator için farklı Hızlandırıcı-tablo ele geçirerek herhangi bir zamanda değiştirilebilir.

Index