הדוגמה בסעיף זה מכיל חלקים של קוד מיישום שאינו יוצר, תציג תפריט קיצור המאפשר למשתמש לקבוע גופנים ותכונות הגופן. היישום מציג את התפריט באזור הלקוח של החלון הראשי שלו בכל פעם שהמשתמש לוחץ על לחצן העכבר השמאלי.
הנה התבנית תפריט עבור תפריט הקיצור הכלול בקובץ הגדרת משאב של היישום.
תפריט PopupMenu להתחיל מוקפץ "Dummy מוקפץ" להתחיל מוקפץ "גופני" להתחיל MENUITEM "שליח", IDM_FONT_COURIER MENUITEM "Roman פעמים", IDM_FONT_TMSRMN MENUITEM "שוויצרי", IDM_FONT_SWISS MENUITEM "Helvetica", IDM_FONT_HELV MENUITEM "אנגלית עתיקה", IDM_FONT_OLDENG קצה מוקפץ "גדלים" להתחיל MENUITEM "7", IDM_SIZE_7 MENUITEM "8", IDM_SIZE_8 MENUITEM "9", IDM_SIZE_9 MENUITEM "10", IDM_SIZE_10 MENUITEM "11"IDM_SIZE_11 MENUITEM "12", IDM_SIZE_12 MENUITEM "14", IDM_SIZE_14 קצה מוקפץ "סגנונות" להתחיל MENUITEM "Bold", IDM_STYLE_BOLD MENUITEM 'נטוי', IDM_STYLE_ITALIC MENUITEM "להכות", IDM_STYLE_SO MENUITEM 'כתב עילי', IDM_STYLE_SUPER MENUITEM 'כתב תחתי', IDM_STYLE_SUB סוף סוף סוף
הדוגמה הבאה נותנת את ההליך חלון ותמיכה הפונקציות המשמשות ליצור ולהציג את תפריט הקיצור.
LRESULT APIENTRY MenuWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {RECT rc; / / לקוח באזור נקודת נק'; / / המיקום של העכבר לחץ על מתג (uMsg) {מקרה WM_LBUTTONDOWN: / / לקבל המלבן התוחם של אזור הלקוח.
GetClientRect (hwnd, כח (LPRECT); rc);
/ / מקבל הלקוח קואורדינטות עבור לחיצת עכבר.
pt.x = GET_X_LPARAM(lParam);
pt.y = GET_Y_LPARAM(lParam);
/ / אם לחיצת עכבר התקיים בתוך הלקוח / / אזור, לבצע את הפונקציה המוגדרת על-ידי יישום / / אשר מציג את תפריט הקיצור.
אם (PtInRect((LPRECT) & rc, pt)) HandlePopupMenu (hwnd, pt);
מעבר;
/ / לעבד הודעות בחלון אחר.
ברירת מחדל: להחזיר DefWindowProc (hwnd, uMsg, wParam, lParam);
} להחזיר NULL;
} VOID APIENTRY HandlePopupMenu(HWND hwnd, POINT pt) {HMENU hmenu; / / תפריט תבנית HMENU hmenuTrackPopup; / / תפריט קיצור / / לטעון את התבנית תפריט המכיל את תפריט הקיצור / / המשאבים של היישום.
hmenu = LoadMenu (hinst, "PopupMenu");
אם (hmenu = = NULL) להחזיר;
/ / קבל בתפריט הקיצור הראשון בתבנית תפריט. זהו / / תפריט מציג אותו TrackPopupMenu.
hmenuTrackPopup = GetSubMenu (hmenu / 0);
/ / TrackPopup משתמשת קואורדינטות מסך, כך להמיר / / לחץ על הקואורדינטות של מצביע העכבר על המסך קואורדינטות.
ClientToScreen (hwnd, (LPPOINT) & נק');
/ / לצייר ולעקוב אחר בתפריט הקיצור.
TrackPopupMenu (hmenuTrackPopup, TPM_LEFTALIGN | TPM_LEFTBUTTON, pt.x, pt.y, 0, hwnd, NULL);
/ / להרוס את התפריט.
DestroyMenu(hmenu);
}