Ölü karakterlik mesajlar

Bazı İngilizce dışındaki klavye karakterlerini üretmek için kendileri tarafından beklenmiyor karakter anahtarlar içerir. Bunun yerine, sonraki vuruşu tarafından üretilen karakter bir vurgu eklemek için kullanılır. Bu anahtarlar, ölü tuşlarıdenir. Almanca klavyeyi inceltme anahtarı, ölü bir anahtar örneğidir. Bir "o" ile bir inceltme oluşan karakter girmek için Alman kullanıcı "o" tuşun ardından inceltme anahtarı yazın. Klavye odağını penceresi aşağıdaki ileti dizisi alacağı:

WM_KEYDOWN
WM_DEADCHAR
WM_KEYUP
WM_KEYDOWN
WM_CHAR
WM_KEYUP

Ölü bir anahtar wm_keydown iletisini işlerken TranslateMessage wm_deadchar iletisi üretir. wm_deadchar ileti wParam parametre vurgu ölü anahtarın karakter kodunu içerir, ancak uygulama genelde iletiyi yoksayar. Bunun yerine, sonraki vuruşu tarafından oluşturulan wm_char iletisini işler. wm_char iletisinin wParam parametresi, vurgu işareti Bu harf karakter kodunu içerir. Sonraki vuruşu bir vurgu ile kombine edilemez bir karakter oluşturursa, sistem iki wm_char iletileri oluşturur. İlk wParam parametresi, vurgu işareti karakter kodunu içerir; ikinci wParam parametresi, sonraki karakter anahtar karakter kodunu içerir.

Bir sistem ölü (tuş kombinasyonu ile alt tuşuna basıldığında bir ölü) wm_syskeydown iletisini işlerken TranslateMessage işlevi wm_sysdeadchar iletisi oluşturur. Bir uygulama genelde wm_sysdeadchar iletiyi yoksayar.

Index