ÀÌ ¼½¼ÇÀÇ ¿¹Á¦¿¡¼´Â ¸¸µé°í »ç¿ëÀÚ°¡ ±Û²Ã ¹× ±Û²Ã Ư¼ºÀ» ¼³Á¤ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¹Ù·Î °¡±â ¸Þ´º¸¦ Ç¥½Ã ÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ÄÚµåÀÇ ºÎºÐÀ» Æ÷ÇÔ ÇÕ´Ï´Ù. ¸¶¿ì½º ¿ÞÂÊµÈ ´ÜÃ߸¦ Ŭ¸¯ÇÒ ¶§¸¶´Ù ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÁÖ Ã¢ÀÇ Å¬¶óÀÌ¾ðÆ® ¿µ¿ª¿¡ ÀÖ´Â ¸Þ´º¸¦ Ç¥½Ã.
¿©±â´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¸®¼Ò½º Á¤ÀÇ ÆÄÀÏ¿¡¼ Á¦°ø µÇ´Â ¹Ù·Î °¡±â ¸Þ´ºÀÇ ¸Þ´º ¼½Ä ÆÄÀÏ.
PopupMenu ¸Þ´º ½ÃÀÛ ÆË¾÷ "´õ¹Ì ÆË¾÷" ½ÃÀÛ ÆË¾÷ "±Û²Ã" ½ÃÀÛ MENUITEM "Åùè" IDM_FONT_COURIER MENUITEM "½Ã°£ ·Î¸¶", 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 IDM_SIZE_12 "12" MENUITEM "14", IDM_SIZE_14 ³¡ ÆË¾÷ "½ºÅ¸ÀÏ" ½ÃÀÛ MENUITEM "±½°Ô", 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; / / Ŭ¶óÀÌ¾ðÆ® ¿µ¿ª Æ÷ÀÎÆ® pt; / / ¸¶¿ì½ºÀÇ À§Ä¡ Ŭ¸¯ ½ºÀ§Ä¡ (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) ¹× pt);
/ / ±×¸®°í ¹Ù·Î °¡±â ¸Þ´º¸¦ ÃßÀû ÇÕ´Ï´Ù.
TrackPopupMenu (hmenuTrackPopup, TPM_LEFTALIGN (ko) | TPM_LEFTBUTTON, pt.x, pt.y, 0, hwnd NULL);
/ / ¸Þ´º¸¦ ÆÄ±« ÇÕ´Ï´Ù.
DestroyMenu(hmenu);
}