חלון האב או חלונות אחרים לשלוח הודעות בקרה להפנות את פקד כדי לבצע משימות מסוימות. ההליך חלון מעבד הודעות אלה ויבצע את הפעולה המבוקשת.
ניתן להגדיר מראש הודעות בקרה או מוגדרת על-ידי היישום. המערכת כוללת מספר הודעות המוגדרות מראש, כגון WM_GETTEXT ו- WM_GETDLGCODE, אשר הוא שולח על פקדים. הודעות אלה מתאימים בדרך כלל פונקציות ניהול windows לבצע פעולות ב- windows. באופן כללי, הפרוצדורה של חלון עבור פקד המוגדר על-ידי היישום צריך לעבד כל הודעה שליטה מראש בטבלה הבאה אם ההודעה משפיעה על הפעולה של פקד.
הודעה | המלצה |
---|---|
WM_GETDLGCODE | התהליך אם הפקד תופס על enter, esc, tab, או במקשי החצים. הפונקציה IsDialogMessage שליחת הודעה זו הפקדים בתיבת הדו-שיח כדי לקבוע אם לעבד את המפתחות או להעביר אותם לפקד. |
WM_GETFONT | תהליך אם גם לעבד את ההודעה WM_SETFONT. |
WM_GETTEXT | תהליך אם הטקסט בפקד אינה זהה הכותרת שצוין על-ידי הפונקציה CreateWindowEx. |
WM_GETTEXTLENGTH | תהליך אם הטקסט בפקד אינה זהה הכותרת שצוין על-ידי הפונקציה CreateWindowEx. |
WM_KILLFOCUS | תהליך אם הפקד מציג קארה, מלבן המוקד או פריט אחר כדי לציין שיש בו מוקד הקלט. |
WM_SETFOCUS | תהליך אם הפקד מציג קארה, מלבן המוקד או פריט אחר כדי לציין שיש בו מוקד הקלט. |
WM_SETTEXT | תהליך אם הטקסט בפקד אינה זהה הכותרת שצוין על-ידי הפונקציה CreateWindowEx. |
WM_SETFONT | התהליך אם הפקד מציג טקסט. המערכת שולחת הודעה זו בעת יצירת תיבת דו-שיח הכוללת את סגנון DS_SETFONT. |
בקרה מוגדרת על-ידי יישום הודעות ספציפיות לפקד נתון והן במפורש להישלח אל הפקד על-ידי שימוש בפונקציה SendMessage או SendDlgItemMessage . הערך המספרי עבור כל הודעה חייב להיות ייחודי, ואינו חייב אינם מתנגשים עם הערכים של הודעות אחרות של החלון. כדי להבטיח שערכי ההודעה המוגדרת על-ידי היישום אינם מתנגשים, יישום עליך ליצור כל ערך על-ידי הוספת מספר ייחודי לערך WM_USER.