הגדרת דגל שצוירו על-ידי הבעלים

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

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

בעת קריאה שתי פונקציות אלה, עליך לציין את הכתובת של מבנה MENUITEMINFO , נותן את המאפיינים של פריט תפריט חדש או את המאפיינים שברצונך לשנות עבור פריט תפריט קיים. כדי להפוך פריט הבעלים מצוירת הפריט, ציין את הערך MIIM_TYPE של חבר fMask את הערך MFT_OWNERDRAW עבור חבר fType.

על-ידי הגדרת חברי המבנה MENUITEMINFO המתאים, באפשרותך לשייך על ערך המוגדר על-ידי היישום, המכונה נתוני פריט, כל פריט תפריט. כדי לעשות זאת, ציין את הערך MIIM_DATA של חבר fMask את הערך המוגדר על-ידי היישום עבור חבר dwItemData.

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

יישומים שנכתבו עבור גירסאות קודמות של המערכת להמשיך לקרוא AppendMenu, InsertMenuאו ModifyMenu כדי להקצות את דגל MF_OWNERDRAW פריט תפריט שצוירו על-ידי הבעלים.

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

Index