הודעות המשמשות עם תפריטים

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

כאשר המשתמש מפעיל את פריט בשורת התפריטים, חלון הבעלים מקבל תחילה הודעה WM_SYSCOMMAND . הודעה זו כוללת דגל המציין אם המשתמש להפעיל את התפריט על-ידי שימוש בלוח המקשים (SC_KEYMENU) או העכבר (SC_MOUSEMENU). לקבלת מידע נוסף, ראה קיצורי מקשים לתפריטים.

בשלב הבא, לפני הצגת כל התפריטים, המערכת שולחת את ההודעה WM_INITMENU להליך חלון כך יישום לשנות את התפריטים לפני שהמשתמש רואה אותם. המערכת שולחת את ההודעה WM_INITMENU פעם אחת בלבד לכל תפריט הפעלה.

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

בכל פעם שכשהמשתמש מזיז את הסימון מכל פריט אחד למשנהו, המערכת שולחת הודעה WM_MENUSELECT להליך חלון של חלון הבעלים של התפריט. הודעה זו מזהה פריט התפריט הנוכחי שנבחר. יישומים רבים מספקים אזור המידע בחלק התחתון של windows הראשי שלהם ולהשתמש הודעה זו כדי להציג מידע נוסף אודות פריט התפריט הנבחר.

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

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

Index