טבלאות האצה

של הטבלה האצה מורכב מערך של מבנים אקסל , כל הגדרת מאיץ בודדים. כל מבנה אקסל כוללת את הפרטים הבאים:

כדי לעבד הקשות האצה עבור הליך משנה נתון, היזם חייב לפונקציה TranslateAccelerator בלולאה ההודעה המשויכת תור הודעות של הליך המשנה. הפונקציה TranslateAccelerator מפקחת על קלט של לוח מקשים לתור ההודעות, בדיקת צירופי המקשים התואמים לערך בטבלת מאיץ. כאשר TranslateAccelerator מוצא התאמה, היא מתרגמת קלט לוח מקשים (כלומר, WM_KEYUP ו WM_KEYDOWN הודעות) לתוך הודעה WM_COMMAND או WM_SYSCOMMAND ולאחר מכן שולח את ההודעה ההליך חלון של החלון שצוין. האיור הבא מציג כיצד מעובדות מאיצים.

הודעת WM_COMMAND כוללת את המזהה של המאיץ שגרמה TranslateAccelerator ליצור את ההודעה. ההליך חלון בוחן את מזהה כדי לקבוע את מקור ההודעה ולאחר מכן יעבד את ההודעה בהתאם.

מאיץ טבלאות קיימות שתי רמות שונות. המערכת שומרת טבלה בודד, מערכתיים מאיץ שחלה על כל היישומים. יישום לא ניתן לשנות את הטבלה האצה של המערכת. לקבלת תיאור של מאיצים המסופקים על-ידי טבלת מאיצים המערכת, ראה הקצאות מקשים מקש האצה.

המערכת שומרת גם מאיץ טבלאות עבור כל יישום. יישום ניתן להגדיר כל מספר של טבלאות מאיצים לשימוש עם windows משלו. נקודת אחיזה 32 סיביות ייחודי (HACCEL) מזהה כל טבלה. עם זאת, ניתן להפעיל טבלת מאיצים אחת בלבד בכל פעם עבור הליך משנה נתון. נקודת האחיזה לטבלה מאיץ שהועבר לפונקציה TranslateAccelerator קובע איזו טבלה מאיץ פעיל עבור הליך משנה. ניתן לשנות את הטבלה מאיץ פעיל בכל עת על-ידי העברת נקודת אחיזה מאיץ-טבלה שונה ל- TranslateAccelerator.

Index