Мертві знак повідомлень

Деяких клавіатурах non Англійська містять символів ключі, які не будуть виробляти символи самі по собі. Замість цього, вони використовуються для додавання до діакритичний характер виробництва подальше клавіш. Ці розділи називаються мертвих ключі. Circumflex ключ на німецький клавіатури є прикладом мертвих ключа. Щоб ввести символ, що складається з "о" з огинати, німецький користувача введіть circumflex ключ, після чого ключ "o". Вікно з фокус вводу буде отримувати послідовність повідомлень:

WM_KEYDOWN
WM_DEADCHAR
WM_KEYUP
WM_KEYDOWN
WM_CHAR
WM_KEYUP

TranslateMessage генерує повідомлення WM_DEADCHAR , коли він обробляє повідомлення WM_KEYDOWN з мертвих ключа. Хоча wParam параметр WM_DEADCHAR повідомлення містить код символу діакритичний для мертвих ключ, програма зазвичай ігнорує повідомлення. Замість цього, він обробляє WM_CHAR повідомлення, що генеруються наступні клавіші. WParam параметр WM_CHAR повідомлення містить код символу листа з на діакритичний. Якщо наступні клавіші генерує не може поєднуватися з на діакритичний знак, система генерує два WM_CHAR повідомлення. WParam параметр першого містить код символу діакритичний; wParam параметр другого містить код символу наступні символ ключа.

Функція TranslateMessage генерує повідомлення WM_SYSDEADCHAR під час обробки повідомлення WM_SYSKEYDOWN від системи мертвих ключ (мертвий ключ, що натиснута у поєднанні з клавішею alt). Застосування зазвичай ігнорує повідомлення WM_SYSDEADCHAR.

Index