TN022: Ç¥ÁØ ¸í·É ±¸Çö

ÀÌ ³ëÆ®¿¡¼­´Â MFC 2.0¿¡¼­ Á¦°ø µÇ´Â Ç¥ÁØ ¸í·É ±¸ÇöÀ» ¼³¸í ÇÕ´Ï´Ù. ÀÌÈÄ ¸¹Àº Ç¥ÁØ ¸í·ÉÀ» ±¸Çö ÇÏ´Â µ¥ »ç¿ë ÇÏ´Â ¸ÞÄ¿´ÏÁòÀ» ¼³¸í ÇÏ´Â ±â¼ú ³ëÆ® 21 À» ¸ÕÀú ÀÐ°í ¹Ýµå½Ã¡£

ÀÌ ¼³¸í¿¡´Â MFC ¾ÆÅ°ÅØÃ³, Api¸¦, ±×¸®°í ÀϹÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ¿¬½ÀÀÇ Áö½ÄÀÌ ÀÖ´Ù°í °¡Á¤ ÇÕ´Ï´Ù. Api´Â ¹®¼­È­ »Ó¸¸ ¾Æ´Ï¶ó ¹®¼­È­ "±¸Çö"¸¸ ¼³¸í ÇÕ´Ï´Ù. ÀÌÀÇ ±â´É ¶Ç´Â MFC¿¡¼­ ÇÁ·Î±×·¡¹Ö ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¹è¿ï ¼ö ½ÃÀÛ ÇÏ´Â Àå¼Ò°¡ ¾Æ´Ï´Ù. Visual c + + ÇÁ·Î±×·¡¸Ó °¡ÀÌµå º¸´Ù ÀϹÝÀûÀÎ Á¤º¸ ¹× ¹®¼­È­ µÈ ApiÀÇ ¼¼ºÎ Á¤º¸¸¦ ÂüÁ¶ ÇϽʽÿÀ¡£

¹®Á¦

MFC Çì´õ ÆÄÀÏ AFXRES¿¡¿¡¼­ ¸¹Àº Ç¥ÁØ ¸í·É Id¸¦ Á¤ÀÇÇÕ´Ï´Ù.ÀÌ·¯ÇÑ ¸í·É¿¡ ´ë ÇÑ Çì ÇÁ·¹ÀÓ ¿öÅ© Áö¿ø¿¡ µû¶ó ´Ù¸¨´Ï´Ù. ÇÁ·¹ÀÓ ¿öÅ©ÀÇ ³»ºÎÀûÀ¸·Î ÀÛµ¿ ÇÏÁö¸¸ Ç¥ÁØ ±¸ÇöÀ» »ç¿ëÀÚ ÁöÁ¤ ÇÏ °í ÀßÇÏ¸é ¸í·É 󸮱⸦ ±¸Çö ÇÏ´Â ¸î °¡Áö ±â¼úÀ» °¡¸£ÃÄ ÇÏ´Â ¹æ¹ý¿¡ À¯¿ëÇÑ Á¤º¸¸¦ Á¦°øÇÒ °ÍÀÔ´Ï´Ù ¾î¶»°Ô º¸¿©ÁÙ »Ó¸¸ ¾Æ´Ï¶ó ÇÁ·¹ÀÓ ¿öÅ© Ŭ·¡½º ó¸® ÀÌ·¯ÇÑ ¸í·ÉÀ» Áö ¾îµð¼­ ¹× ¾î¶»°Ô understanding¡£

ÀÌ ±â¼ú ³ëÆ®ÀÇ ³»¿ë

°¢ ¸í·É ID µÎ ¼½¼Ç¿¡¼­ ¼³¸í ÇÏ´Â:

´ëºÎºÐÀÇ ±âº» ¸í·ÉÀ» ±¸Çö ÇÁ·¹ÀÓ ¿öÅ©ÀÇ ±âº» Ŭ·¡½º ¸Þ½ÃÁö ¸Ê¿¡¼­ prewired ÀÖ´Ù. ÆÄ»ýµÈ Ŭ·¡½º¿¡¼­ ¸í½ÃÀû ¹è¼±ÀÌ ÇÊ¿ä·Î ÇÏ´Â ÀϺΠ¸í·É ±¸ÇöÀÌ ÀÖ½À´Ï´Ù. "Note"¿¡¼­ ¼³¸í µÇ¾î ÀÖ½À´Ï´Ù. »ý¼º µÈ »À´ë ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼­ ´ç½ÅÀ» À§ÇØ ÀÌ·¯ÇÑ ±âº» 󸮱⸦ ¿¬°á µË´Ï´Ù Appwizard¿¡¼­ ¿Ã¹Ù¸¥ ¿É¼ÇÀ» ¼±ÅÃÇÑ °æ¿ì¡£

¸í¸í ±ÔÄ¢

Ç¥ÁØ ¸í·É °¡´É ÇÏ¸é »ç¿ë ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù °£´ÜÇÑ ¸í¸í ±ÔÄ¢À» µû¸¨´Ï´Ù. ´ëºÎºÐÀÇ Ç¥ÁØ ¸í·É ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¸Þ´º ¸ðÀ½¿¡¼­ Ç¥ÁØ À§Ä¡¿¡ ÀÖ½À´Ï´Ù. ¸í·É¾îÀÇ ½Éº¼ À̸§ ½ÃÀÛ "ID_" Ç¥ÁØ ÆË¾÷ ¸Þ´º À̸§, ¸Þ´º Ç׸ñ À̸§ µÚ¿¡ ¿É´Ï´Ù. ±âÈ£ À̸§ÀÌ ¹ØÁÙ ´Ü¾î ÁٹٲÞÀ¸·Î ´ë¹®ÀÚÀÔ´Ï´Ù. Ç¥ÁØ ¸Þ´º Ç׸ñ À̸§ÀÌ ¾ø´Â ¸í·É¿¡ ´ë ÇÑ ³í¸®ÀûÀÎ ¸í·É À̸§À» Á¤ÀÇ "ID_" (¿¹¸¦ µé¾î, ID_NEXT_PANE)·Î ½ÃÀÛ¡£

Á¢µÎ»ç "ID_" 'À» »ç¿ë ÇÏ ¿© ¸í·ÉÀ» ¸Þ´º Ç׸ñ, µµ±¸ ¸ðÀ½ ´ÜÃß ¶Ç´Â ´Ù¸¥ ¸í·É »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º °³Ã¼¿¡ ¹ÙÀεùÇÒ ¼ö ÀÖµµ·Ï ¼³°è¸¦ ³ªÅ¸³À´Ï´Ù. ¸í·É 󸮱â "ID_" ¸í·É ó¸® MFC ¸í·É ¾ÆÅ°ÅØÃ³ÀÇ ON_COMMAND ¹× ON_UPDATE_COMMAND_UI ¸ÞÄ¿´ÏÁòÀ» »ç¿ë ÇØ¾ß¡£

Ç¥ÁØ "IDM_" Á¢µÎ»ç¸¦ »ç¿ë ÇÏ ¿© ¸Þ´º Ç׸ñ ¸í·É ¾ÆÅ°ÅØÃ³¿¡ µû¶ó ¹× ¸Þ´º °ü·Ã Äڵ带 Ȱ¼ºÈ­ ÇÏ °í ºñȰ¼ºÈ­ ÇØ¾ß ÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ¹°·Ð ¸Þ´ºÀÇ Æ¯Á¤ ¸í·É ¼ö°¡ ÀÛÀº µÇ¾î¾ß ÀÌÈÄ ´ÙÀ½ MFC ¸í·É ¾ÆÅ°ÅØÃ³ »Ó¸¸ ¾Æ´Ï¶ó (ÀÌÈÄ ±×µéÀº µµ±¸ ¸ðÀ½°ú ÀÛµ¿) ¸í·É 󸮱⸦ ´õ °­·Â ÇÏ °Ô ÇÏÁö¸¸ ¸í·É 󸮱â Äڵ带 Àç»ç¿ëÇÒ ¼ö¡£

ID ¹üÀ§

MFC¿¡¼­ ID ¹üÀ§¸¦ »ç¿ë ÇÏ ¿©¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ±â¼ú ³ëÆ® 20 ¸¦ ÂüÁ¶ ÇϽʽÿÀ¡£

MFC Ç¥ÁØ ¸í·É ¹üÀ§ 0xE000 0xefff°¡À». Á¦¹ß¿¡ ÀÇÁ¸ ÇÏÁö ¸¶½Ê½Ã¿À ÀÌ·¯ÇÑ IdÀÇ Æ¯Á¤ °ª ¶§¹®¿¡ ±×µéÀº ¶óÀ̺귯¸®ÀÇ ÇâÈÄ ¹öÀü¿¡¼­ º¯°æ µÉ ¼ö ÀÖ½À´Ï´Ù¡£

ÀÀ¿ë ÇÁ·Î±×·¥ ¹üÀ§ 0x8000 0xDFFF ¸í·ÉÀ» Á¤ÀÇ ÇØ¾ß¡£

Ç¥ÁØ ¸í·É Id

°¢ ¸í·É ID¿¡ ´ë ÇÑ Ç¥ÁØ ¸Þ½ÃÁö ÁÙ ÇÁ·ÒÇÁÆ® ¹®ÀÚ¿­ ÆÄÀÏ ÇÁ·ÒÇÁÆ®¿¡¼­ ãÀ» ¼ö ÀÖ´Ù.RCÀÔ´Ï´Ù. ÇØ´ç ¸Þ´º À½¼º ¾È³»¿¡ ´ë ÇÑ ¹®ÀÚ¿­ ID ¸í·É ID¿Í µ¿ÀÏ ÇÏ °Ô ÇØ¾ß ÇÕ´Ï´Ù.

¾÷µ¥ÀÌÆ® Àü¿ë ¸í·É 󸮱â

»óÅ ǥ½ÃÁÙ¿¡ Ç¥½Ã±â·Î »ç¿ë µÇ´Â ¸î °¡Áö Ç¥ÁØ ¸í·É Id´Â. ÀÌ·¯ÇÑ µ¿ÀÏÇÑ ÀÀ¿ë ÇÁ·Î±×·¥ À¯ÈÞ ½Ã°£ µ¿¾È ±×µéÀÇ ÇöÀç ½Ã°¢Àû »óŸ¦ Ç¥½Ã ÇÏ·Á¸é ¾÷µ¥ÀÌÆ® ¸í·É UI ó¸® ¸ÞÄ¿´ÏÁòÀ» »ç¿ë ÇÕ´Ï´Ù. ¶§¹®¿¡ »ç¿ëÀÚ°¡ ¼±ÅÃÇÒ ¼ö ¾ø½À´Ï´Ù (Áï, ´ç½ÅÀº »óÅ ǥ½ÃÁ٠â ¹Ð¾î ¼ö ¾ø½À´Ï´Ù), ´ÙÀ½ ÀÌ·¯ÇÑ ON_COMMAND 󸮱⠸í·É Id°¡ ¸»µµ ¾ÈµÅ¡£

¸ðµÎ ¼¼ °¡ÁöÀÇ CFrameWnd::OnUpdateKeyIndicator, ¸í·É ID¸¦ »ç¿ë ÇÏ ¿© ÇØ´ç °¡»ó Ű¿¡ ¸ÅÇÎÇÏ´Â ±¸Çö µµ¿ì¹Ì¿¡¼­¿¡¼­ ±¸Çö µË´Ï´Ù. ÀϹÝÀûÀÎ ±¸Çö Çϰųª ÇØÁ¦ (ºñȰ¼ºÈ­ »óÅ â ÅØ½ºÆ® ¾øÀ½ =) ÇØ´ç °¡»ó Ű ÇöÀç Àá°Ü ÀÖ´ÂÁö ¿©ºÎ¿¡ µû¶ó CCmdUI °³Ã¼¡£

ÀÌ ¸í·É 󸮱âÀÇ »ç¿ëÀÚ ÁöÁ¤ ±ÇÀå µÇÁö ¾Ê½À´Ï´Ù.

ÇöÀç¿¡ ÀÌ·¯ÇÑ ÁöÇ¥¿¡ ´ë ÇÑ Ç¥ÁØ ±¸ÇöÀÌ ¾ø±â¡£

ÀÌ·¯ÇÑ Ç¥½Ã±â¸¦ ±¸Çö Çϵµ·Ï ¼±Åà Çϸé ÀÌ·¯ÇÑ Ç¥½Ã±â Id ¹× »óÅ ǥ½ÃÁÙ¿¡ Ç¥½Ã±âÀÇ ¼ø¼­¸¦ À¯Áö¸¦ »ç¿ë ÇÏ¸é °ÍÀÌ ÁÁ½À´Ï´Ù (Áï,ÀÌ ¼ø¼­: EXT, ¸ðÀÚ, NUM, SCRL, OVR, REC)¡£

±â¼ú ³ëÆ® ¹øÈ£·Î |nbsp; Ä«Å×°í¸®º° ±â¼ú ³ëÆ®(&N)

Index