CMessageMap

cMessageMap Ŭ·¡½º

CMessageMap Àº °³Ã¼ÀÇ ¸Þ½ÃÁö¸¦ Çã¿ë ÇÏ´Â Ãß»ó ±âº» Ŭ·¡½º´Â ´Ù¸¥ °³Ã¼¿¡ ¾×¼¼½ºÇÒ ¼ö¿¡ ¸ÅÇε˴ϴÙ. ¸Þ½ÃÁö ¸ÊÀ» ³ëÃâ ÇÏ´Â °³Ã¼¿¡¼­ ÇØ´ç Ŭ·¡½º´Â CMessageMap ¿¡¼­ ÆÄ»ý µÇ¾î¾ß ÇÕ´Ï´Ù.

ATL CMessageMap ¸¦ »ç¿ë ÇÏ ¿© Æ÷ÇÔ µÈ Áö¿ø windows ¹× µ¿Àû ¸Þ½ÃÁö ¸Ê üÀÎ. ¿¹¸¦ µé¾î, CContainedWindow °³Ã¼¸¦ Æ÷ÇÔ ÇÏ´Â ¸ðµç Ŭ·¡½º´Â CMessageMap¿¡¼­ ÆÄ»ý µÇ¾î¾ß ÇÕ´Ï´Ù. ´ÙÀ½ Äڵ忡¼­ °¡Á®¿Â °ÍÀÔ´Ï´Ù ÀÖ´Â SUBEDIT »ùÇÃ. CComControl, ÅëÇØ´Â CAtlEdit CMessageMap ¿¡¼­ ÀÚµ¿À¸·Î ÆÄ»ý¡£

cAtlEdit Ŭ·¡½º: °ø¿ë CComControllt;CAtlEdit >,...
 ????????????? / / CComControl CWindowImpl¿¡¼­ ÆÄ»ý
 ????????????? / /´Â Cmessagemap¿¡¼­ ÆÄ»ý
{
°ø°³:
 ? / / Æ÷ÇÔ µÈ â µ¥ÀÌÅÍ ¸â¹ö ¼±¾ð
 ? CContainedWindow m_EditCtrl;

/ / ÃʱâÈ­ Æ÷ÇÔ µÈ â:
 ? // 1. Àü´Þ µÇµµ·Ï ÁöÁ¤ ÇÏ·Á¸é "ÆíÁý"Àº Æ÷ÇÔ µÈ / / â Ç¥ÁØ¿¡ ±â¹Ý ÇÑ´Ù / / Windows ÆíÁý »óÀÚ
 ? // 2. ÁöÁ¤ ÇÏ·Á¸é 'this'ÀÌ Æ÷ÀÎÅÍ¿¡ Àü´Þ ±× CAtlEdit / ¸Þ½ÃÁö ¸ÊÀ» »ç¿ëÇÒ ¼ö¸¦ Æ÷ÇÔ ÇÏ´Â /´Â / / Æ÷ÇÔ µÈ âÀÇ ¸Þ½ÃÁö ó¸®
 ? // 3. ¸Þ½ÃÁö ¸ÊÀÇ ½Äº°ÀÚ¸¦ Àü´Þ ÇÕ´Ï´Ù. ¿¡¼­
 ? / /ÀÌ °æ¿ì '1' ½Äº° ¸Þ½ÃÁö ¸Ê
 ? / / ALT_MSG_MAP(1)¸¦ »ç¿ë ÇÏ ¿© ¼±¾ð
 ? CAtlEdit(): m_editctrl(_t("edit")ÀÌ,ÀÌ 1)
 ? {
 ???? m_bWindowOnly = ÁøÁ¤ÇÑ;
 ? }

/ / ±âº» ¸Þ½ÃÁö ¸ÊÀ» ¼±¾ð
 ? BEGIN_MSG_MAP(CAtlEdit)
 ???? MESSAGE_HANDLER (WM_PAINT, OnPaint)
 ???? ...
 ? / / ´ëü ¸Þ½ÃÁö ¸ÊÀ» ¼±¾ð
 ? / / '1'¿¡ ÀÇÇØ ½Äº°
 ? ALT_MSG_MAP(1)
 ???? MESSAGE_HANDLER (WM_CHAR, OnChar)
 ? END_MSG_MAP()

...
};

¶§¹®¿¡ Æ÷ÇÔ µÈ â m_EditCtrl , ¸Þ½ÃÁö ¸ÊÀ» »ç¿ë ÇÏ ¿© Æ÷ÇÔ Çϴ Ŭ·¡½º¿¡´Â CAtlEdit CMessageMap ¿¡¼­ ÆÄ»ý¡£

¸Þ½ÃÁö ¸Ê¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ¹®¼­ÀÇ "ATL â Ŭ·¡½º." ¸Þ½ÃÁö ¸Ê À» ÂüÁ¶ÇÕ´Ï´Ù

# include lt;atlwin.h>

Ŭ·¡½º ¸â¹ö

Âü°í Ç׸ñnbsp;CDynamicChain, BEGIN_MSG_MAP, ALT_MSG_MAP(&N)

Index