ModifyMenu

ModifyMenu ÇÔ¼ö´Â ±âÁ¸ ¸Þ´º Ç׸ñÀ» º¯°æÇÕ´Ï´Ù. ÀÌ ±â´ÉÀº ÄÜÅÙÃ÷, ¸ð¾ç ¹× ¸Þ´º Ç׸ñÀÇ µ¿ÀÛÀ» ÁöÁ¤ ÇÏ´Â µ¥.

ModifyMenu ÇÔ¼ö SetMenuItemInfo ÇÔ¼ö¿¡ ÀÇÇØ ´ëü µÇ¾ú½À´Ï´Ù. ±×·¯³ª °è¼Ó »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù ModifyMenu,, ¸¸¾à ´ç½ÅÀÌ SetMenuItemInfo ÀÇ È®Àå ±â´É ÇÊ¿ä ÇÏÁö ¾Ê½À´Ï´Ù.

(BOOL ModifyMenu HMENU  hMnu, / / ¸Þ´º ÇÚµéUINTuPosition, / / ¸Þ´º Ç׸ñ ¼öÁ¤UINTuFlags, / / ¸Þ´º Ç׸ñ Ç÷¡±×UINTuIDNewItem, / / ¸Þ´º Ç׸ñ ½Äº°ÀÚ ¶Ç´Â µå·Ó ´Ù¿î ó¸® / / ¸Þ´º ¶Ç´Â ÇÏÀ§ ¸Þ´ºLPCTSTRlpNewItem / / ¸Þ´º Ç׸ñ ³»¿ë);
 

¸Å°³ º¯¼ö

hMnu
º¯°æ ¸Þ´º¿¡ ´ë ÇÑ ÇÚµé.
uPosition
UFlags ¸Å°³ º¯¼ö¿¡ ÀÇÇØ °áÁ¤ µÈ ´ë·Î ¸Þ´º Ç׸ñÀ»À» º¯°æÇÒ ¼ö¸¦ ÁöÁ¤ ÇÕ´Ï´Ù.
uFlags
UPosition ¸Å°³ º¯¼ö´Â ÄÜÅÙÃ÷, ¸ð¾ç ¹× ¸Þ´º Ç׸ñÀÇ µ¿ÀÛÀÇ ÇØ¼®À» Á¦¾î ÇÏ´Â Ç÷¡±×¸¦ ÁöÁ¤ ÇÕ´Ï´Ù. ÀÌ ¸Å°³ º¯¼ö´Â ´ÙÀ½ Çʼö °ª Áß Çϳª ¹× ´ÙÀ½ ÁÖÀÇ ¼½¼Ç¿¡ ³ª¿­ µÈ °ª Áß Çϳª ÀÌ»óÀÇ Á¶ÇÕ À̾î¾ß ÇÕ´Ï´Ù.
°ª ÀǹÌ
MF_BYCOMMAND UPosition ¸Å°³ º¯¼ö Á¦°ø ¸Þ´º Ç׸ñÀÇ ½Äº°ÀÚ¸¦ ³ªÅ¸³À´Ï´Ù. MF_BYCOMMAND Ç÷¡±×´Â ±âº» MF_BYCOMMANDµµ MF_BYPOSITION Ç÷¡±×¸¦ ÁöÁ¤ ÇÏ´Â °æ¿ì.
MF_BYPOSITION UPosition ¸Å°³ º¯¼ö Á¦°ø ¸Þ´º Ç׸ñÀÇ 0ºÎÅÍ ½ÃÀÛ »ó´ëÀû À§Ä¡¸¦ ³ªÅ¸³À´Ï´Ù.

uIDNewItem
¼öÁ¤µÈ ¸Þ´º Ç׸ñÀÇ ½Äº°ÀÚ¸¦ ÁöÁ¤ ÇÕ´Ï´Ù ¶Ç´Â uFlags ¸Å°³ º¯¼ö´Â MF_POPUP Ç÷¡±× ¼³Á¤, µå·Ó´Ù¿î ¸Þ´º ¶Ç´Â ÇÏÀ§ ¸Þ´º¿¡ ´ë ÇÑ ÇÚµé.
lpNewItem
º¯°æµÈ ¸Þ´º Ç׸ñÀÇ ÄÜÅÙÃ÷¸¦ Æ÷ÀÎÅÍÀÔ´Ï´Ù. ÀÌ ¸Å°³ º¯¼ö¸¦ ÇØ¼® uFlags ¸Å°³ º¯¼ö´Â MF_BITMAP, MF_OWNERDRAW, ¶Ç´Â MF_STRING Ç÷¡±×¸¦ Æ÷ÇÔ ÇÏ´Â ¿©ºÎ¿¡ µû¶ó ´Þ¶ó Áý´Ï´Ù.
°ª ÀǹÌ
MF_BITMAP ºñÆ®¸Ê ÇÚµé Æ÷ÇÔ.
MF_OWNERDRAW ¸Þ´º Ç׸ñ¿¡ °ü·Ã µÈ Ãß°¡ µ¥ÀÌÅ͸¦ À¯Áö ÇÏ´Â µ¥ »ç¿ë ÇÏ´Â ÀÀ¿ë ÇÁ·Î±×·¥¿¡ ÀÇÇØ Á¦°ø µÇ´Â 32 ºñÆ® °ªÀ» Æ÷ÇÔ ÇÕ´Ï´Ù. °ªÀº WM_MEASUREITEM ÀÇ lparam ¸Å°³ º¯¼ö¿¡¼­ °¡¸®Å°´Â ±¸Á¶ ¶Ç´Â ¸Þ´º Ç׸ñÀ» ¸¸µç ¸ð¾çÀ» ¾÷µ¥ÀÌÆ® µÉ ¶§ Àü¼Û µÇ´Â WM_DRAWITEM ¸Þ½ÃÁöÀÇ itemData ±¸¼º¿øÀÇ.
MF_STRING Null·Î ³¡³ª´Â ¹®ÀÚ¿­ (±âº»°ª)¿¡ ´ë ÇÑ Æ÷ÀÎÅ͸¦ Æ÷ÇÔÇÕ´Ï´Ù.

¹Ýȯ °ª

ÇÔ¼ö°¡ ¼º°ø ÇÏ¸é ¹Ýȯ °ªÀº 0ÀÌ ¾Æ´Ñ.

ÇÔ¼ö°¡ ½ÇÆÐ ÇÏ¸é ¹Ýȯ °ªÀº 0ÀÔ´Ï´Ù. È®ÀåµÈ ¿À·ù Á¤º¸¸¦ ¾òÀ¸·Á¸é GetLastError ¸¦ È£ÃâÇÕ´Ï´Ù.

ÁÖÀÇ

ÇÔ¼ö ÀÌÀü µå·Ó ´Ù¿î ¸Þ´º ¶Ç´Â ÇÏÀ§ ¸Þ´º¸¦ ÆÄ±« ÇÏ °í ±×°Í¿¡ ÀÇÇØ »ç¿ë µÇ´Â ¸Þ¸ð¸®¸¦ ÇØÁ¦ ModifyMenu µå·Ó ´Ù¿î ¸Þ´º ¶Ç´Â ÇÏÀ§ ¸Þ´º¸¦ ¿­°í ¸Þ´º Ç׸ñÀ» ´ëü ÇÏ´Â °æ¿ì.

Űº¸µå ¾×¼¿·¯·¹ÀÌÅÍ ºñÆ®¸Ê ¶Ç´Â ¼ÒÀ¯ÀÚ°¡ ±×¸° ¸Þ´º Ç׸ñÀÌ ÀÛµ¿ Çϵµ·Ï Çϱâ À§Çؼ­´Â, ¸Þ´ºÀÇ ¼ÒÀ¯ÀÚ WM_MENUCHAR ¸Þ½ÃÁö¸¦ ó¸® ÇØ¾ß ÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº Owner-Drawn ¸Þ´º¿Í WM_MENUCHAR ¸Þ½ÃÁö¸¦ ÂüÁ¶ ÇϽʽÿÀ.

ÀÀ¿ë ÇÁ·Î±×·¥ ¸Þ´º°¡ Ç¥½Ã â¿¡ ¿©ºÎ ¸Þ´º º¯°æ µÉ ¶§¸¶´Ù DrawMenuBar ÇÔ¼ö¸¦ È£Ãâ ÇØ¾ß ÇÕ´Ï´Ù. ±âÁ¸ ¸Þ´º Ç׸ñÀÇ ¼Ó¼ºÀ» º¯°æ ÇÏ·Á¸é ±×°ÍÀº CheckMenuItem ¹× EnableMenuItem ÇÔ¼ö¸¦ »ç¿ë ÇÏ´Â °ÍÀÌ ºü¸¨´Ï´Ù.

´ÙÀ½ ¸ñ·Ï¿¡´Â uFlags ¸Å°³ º¯¼ö¿¡¼­ ¼³Á¤ÇÒ ¼ö ÀÖ´Â Ç÷¡±×¿¡ ¼³¸í:

°ª ÀǹÌ
MF_BITMAP ¸Þ´º Ç׸ñÀ¸·Î ºñÆ®¸ÊÀ» »ç¿ëÇÕ´Ï´Ù. LpNewItem ¸Å°³ º¯¼ö´Â ºñÆ®¸Ê¿¡ ´ë ÇÑ ÇÚµéÀ» Æ÷ÇÔ.
MF_BYCOMMAND UPosition ¸Å°³ º¯¼ö (±âº»°ª) ¸Þ´º Ç׸ñÀÇ ½Äº°ÀÚ¸¦ ÁöÁ¤ ÇÕ´Ï´Ù ³ªÅ¸³À´Ï´Ù.
MF_BYPOSITION UPosition ¸Å°³ º¯¼ö »õ ¸Þ´º Ç׸ñÀÇ 0ºÎÅÍ ½ÃÀÛ »ó´ë À§Ä¡ ÁöÁ¤À» ³ªÅ¸³À´Ï´Ù.
MF_CHECKED Ç׸ñ ¿·¿¡ È®ÀΠǥ½Ã°¡ ¹èÄ¡ÇÕ´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ È®ÀΠǥ½Ã ºñÆ®¸Ê ( SetMenuItemBitmaps ÇÔ¼ö ÂüÁ¶)¸¦ Á¦°ø ÇÏ´Â °æ¿ìÀÌ Ç÷¡±× ¸Þ´º Ç׸ñ ¿·¿¡ ¼±Åà µÈ ºñÆ®¸Ê Ç¥½Ã.
MF_DISABLED ¼±ÅÃÇÒ ¼ö ¾ø½À´Ï´Ù ÇÏÁö¸¸ÀÌ Ç÷¡±×´Â ±×°ÍÀ» ȸ»ö ÇÏÁö ¾Ê½À´Ï´Ù ÀÖµµ·Ï ¸Þ´º Ç׸ñ ºñȰ¼ºÈ­.
MF_ENABLED ¼ö ÀÖµµ·Ï ¸Þ´º Ç׸ñÀ» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù ÇÏ °í ȸ»öµÈ »óÅ¿¡¼­ º¹¿ø.
MF_GRAYED ¸Þ´º Ç׸ñÀ» ºñȰ¼ºÈ­ ÇÏ °í ¼±ÅÃÇÒ ¼ö ÀÖµµ·Ï ȸ»ö.
MF_MENUBARBREAK ÇÔ¼ö´Â MF_MENUBREAK¿Í °°Àº ¸Þ´º ¸ðÀ½¿¡ ´ë ÇÑ Ç÷¡±×. µå·Ó ´Ù¿î ¸Þ´º, ÇÏÀ§ ¸Þ´º ¶Ç´Â ¹Ù·Î °¡±â ¸Þ´º¿¡ ´ë ÇÑ »õ ¿­ÀÌ ±¸ºÐ ÀÌÀü ¿­¿¡¼­ ¼öÁ÷ ¶óÀÎ.
MF_MENUBREAK (¸Þ´º ¸ðÀ½)¿¡ »õ ÁÙ¿¡ Ç׸ñÀ» ¹èÄ¡ ¶Ç´Â ¿­ ±¸ºÐ ¾øÀÌ »õ ¿­ (¿¡-µå·Ó ´Ù¿î ¸Þ´º, ÇÏÀ§ ¸Þ´º ¶Ç´Â ¹Ù·Î °¡±â ¸Þ´º).
MF_OWNERDRAW Ç׸ñ ¼ÒÀ¯ÀÚ°¡ ±×¸° Ç׸ñÀ¸·Î ÁöÁ¤ ÇÕ´Ï´Ù. ¸Þ´º¸¦ óÀ½À¸·Î Ç¥½Ã µÇ±â Àü¿¡ ¸Þ´º¸¦ ¼ÒÀ¯ Çϴ â ³Êºñ¿Í ¸Þ´º Ç׸ñÀÇ ³ôÀÌ °Ë»ö ÇÏ·Á¸é WM_MEASUREITEM ¸Þ½ÃÁö¸¦ ¹Þ½À´Ï´Ù. ¸Þ´º Ç׸ñÀÇ ¸ð¾çÀ» ¾÷µ¥ÀÌÆ® ÇÕ´Ï´Ù ¶§¸¶´Ù WM_DRAWITEM ¸Þ½ÃÁö ´ÙÀ½ ¼ÒÀ¯ÀÚ Ã¢ÀÇ Ã¢ ÇÁ·Î½ÃÀú¿¡ Àü¼Û µË´Ï´Ù.
MF_POPUP ÁöÁ¤ ¸Þ´º Ç׸ñ µå·Ó ´Ù¿î ¸Þ´º ¶Ç´Â ÇÏÀ§ ¸Þ´º¸¦ ¿±´Ï´Ù. UIDNewItem ¸Å°³ º¯¼ö µå·Ó ´Ù¿î ¸Þ´º ¶Ç´Â ÇÏÀ§ ¸Þ´º¿¡ ´ë ÇÑ ÇÚµéÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¸Þ´º ¸ðÀ½ÀÌ ³ª ¸Þ´º Ç׸ñÀ» µå·Ó´Ù¿î ¸Þ´º, ÇÏÀ§ ¸Þ´º ¶Ç´Â ¹Ù·Î °¡±â ¸Þ´º¿¡ ÇÏÀ§ ¸Þ´º¿¡ ¸Þ´º À̸§À» Ãß°¡ ÇÏ·Á¸éÀÌ Ç÷¡±×¸¦ »ç¿ë.
MF_SEPARATOR °¡·Î ±¸ºÐ¼±À» ±×¸³´Ï´Ù. ÀÌ Ç÷¡±×´Â µå·Ó ´Ù¿î ¸Þ´º, ÇÏÀ§ ¸Þ´º ¶Ç´Â ¹Ù·Î °¡±â ¸Þ´º¿¡¸¸ »ç¿ë µË´Ï´Ù. ÁÙÀ» ȸ»öÀ¸·Î ºñȰ¼ºÈ­ Çϰųª °­Á¶ ¼ö ¾ø½À´Ï´Ù. LpNewItem ¹× uIDNewItem ¸Å°³ º¯¼ö´Â ¹«½Ã µË´Ï´Ù.
MF_STRING ¸Þ´º Ç׸ñ ÅØ½ºÆ® ¹®ÀÚ¿­; µÇµµ·Ï ÁöÁ¤ ÇÕ´Ï´Ù. lpNewItem ¸Å°³ º¯¼ö ¹®ÀÚ¿­À» °¡¸®Åµ´Ï´Ù.
MF_UNCHECKED (±âº»°ª) Ç׸ñ ¿·¿¡ È®ÀΠǥ½Ã°¡ ¹èÄ¡ ÇÏÁö ¾Ê½À´Ï´Ù. ÀÀ¿ë ÇÁ·Î±×·¥ È®ÀΠǥ½Ã ºñÆ®¸Ê ( SetMenuItemBitmaps ÇÔ¼ö ÂüÁ¶)°¡ Á¦°ø ÇÏ´Â °æ¿ìÀÌ Ç÷¡±× ¸Þ´º Ç׸ñ ¿·¿¡ È®ÀÎ µÇÁö ¾ÊÀº ºñÆ®¸Ê Ç¥½Ã.

´ÙÀ½ Ç÷¡±× ±×·ìÀ» ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.:

Âü°í Ç׸ñ

¸Þ´º °³¿ä ¸Þ´º ±â´É, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM

 

Index