הודעות המלח-תו

לוחות מקשים מסוימים שאינם באנגלית מכיל מפתחות תו שלא צפויים לייצר תווים בכוחות עצמם. במקום זאת, הם משמשים כדי להוסיף ניקוד של התו, שמפיק את ההקשה עוקבות. מפתחות אלה נקראים מפתחות מת. המפתח רישית במקלדת גרמנית הוא דוגמה של מפתח מת. כדי להזין את התו "o" עם גג על קטנה המורכבת, משתמש גרמני להקליד את המפתח רישית ואחריה את המפתח "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