±Û²Ã Ư¼º ¹Ù·Î °¡±â ¸Þ´º ¸¸µé±â

ÀÌ ¼½¼ÇÀÇ ¿¹Á¦¿¡¼­´Â ¸¸µé°í »ç¿ëÀÚ°¡ ±Û²Ã ¹× ±Û²Ã Ư¼ºÀ» ¼³Á¤ÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¹Ù·Î °¡±â ¸Þ´º¸¦ Ç¥½Ã ÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ÄÚµåÀÇ ºÎºÐÀ» Æ÷ÇÔ ÇÕ´Ï´Ù. ¸¶¿ì½º ¿ÞÂÊµÈ ´ÜÃ߸¦ Ŭ¸¯ÇÒ ¶§¸¶´Ù ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ÁÖ Ã¢ÀÇ Å¬¶óÀÌ¾ðÆ® ¿µ¿ª¿¡ ÀÖ´Â ¸Þ´º¸¦ Ç¥½Ã.

¿©±â´Â ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¸®¼Ò½º Á¤ÀÇ ÆÄÀÏ¿¡¼­ Á¦°ø µÇ´Â ¹Ù·Î °¡±â ¸Þ´ºÀÇ ¸Þ´º ¼­½Ä ÆÄÀÏ.

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); 
} 
 

 

Index