BEGIN_MSG_MAP ( Ŭ·¡½º )
¸Å°³ º¯¼ö
Ŭ·¡½º
[in] ¸Þ½ÃÁö ¸ÊÀ» Æ÷ÇÔ Çϴ Ŭ·¡½ºÀÇ À̸§¡£
ÁÖÀÇ
±âº» ¸Þ½ÃÁö ¸ÊÀÇ ½ÃÀÛÀ» Ç¥½Ã ÇÕ´Ï´Ù. CWindowImpl::WindowProc â¿¡ º¸³½ ¸Þ½ÃÁö¸¦ ó¸® ÇÏ·Á¸é ±âº» ¸Þ½ÃÁö ¸ÊÀ» »ç¿ë ÇÕ´Ï´Ù. ¸Þ½ÃÁö ¸Ê¿¡ Áö½Ã ¸Þ½ÃÁö ÀûÀý ÇÑ Ã³¸®±â ÇÔ¼ö ¶Ç´Â ´Ù¸¥ ¸Þ½ÃÁö ¸Ê¡£
´ÙÀ½ ¸ÅÅ©·Î ¸Þ½ÃÁö¸¦ 󸮱â ÇÔ¼ö¿¡ ¸ÅÇÎÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â Ŭ·¡½º ¿¡ Á¤ÀÇ µÇ¾î¾ß ÇÕ´Ï´Ù.
| ¸ÅÅ©·Î | ¼³¸í |
| MESSAGE_HANDLER | Windows ¸Þ½ÃÁö¸¦ 󸮱â ÇÔ¼ö¸¦ ¸ÅÇÎÇÕ´Ï´Ù. |
| MESSAGE_RANGE_HANDLER | Áöµµ ¿¬¼Ó Windows ¸Þ½ÃÁö 󸮱â ÇÔ¼ö¸¦¡£ |
| COMMAND_HANDLER | WM_COMMAND ¸Þ½ÃÁö¸¦ ¾Ë¸² ÄÚµå¿Í ¸Þ´º Ç׸ñ, ÄÁÆ®·Ñ ¶Ç´Â °¡¼Ó±âÀÇ ½Äº°ÀÚ¸¦ ±â¹ÝÀ¸·Î Çϴ ó¸®±â ÇÔ¼ö¸¦ ¸ÅÇÎÇÕ´Ï´Ù. |
| COMMAND_ID_HANDLER | ¸Þ´º Ç׸ñ, ÄÁÆ®·Ñ ¶Ç´Â °¡¼Ó±âÀÇ ½Äº°ÀÚ¸¦ ±â¹ÝÀ¸·Î Çϴ ó¸®±â ÇÔ¼ö¸¦ WM_COMMAND ¸Þ½ÃÁö¸¦ ¸ÅÇÎÇÕ´Ï´Ù. |
| COMMAND_CODE_HANDLER | WM_COMMAND ¸Þ½ÃÁö¸¦ ¾Ë¸² Äڵ带 ±â¹ÝÀ¸·Î Çϴ ó¸®±â ÇÔ¼ö¸¦ ¸ÅÇÎÇÕ´Ï´Ù. |
| COMMAND_RANGE_HANDLER | ¸Þ´º Ç׸ñ, ÄÁÆ®·Ñ ¶Ç´Â °¡¼Ó±âÀÇ ½Äº°ÀÚ¸¦ ±â¹ÝÀ¸·Î Çϴ ó¸®±â ÇÔ¼ö¸¦ WM_COMMAND ¸Þ½ÃÁöÀÇ ¿¬¼Ó ¹üÀ§¸¦ ¸ÅÇÎÇÕ´Ï´Ù. |
| NOTIFY_HANDLER | WM_NOTIFY ¸Þ½ÃÁö¸¦ ¾Ë¸² ÄÚµå¿Í ÄÁÆ®·Ñ ½Äº°ÀÚ¸¦ ±â¹ÝÀ¸·Î Çϴ ó¸®±â ÇÔ¼ö¸¦ ¸ÅÇÎÇÕ´Ï´Ù. |
| NOTIFY_ID_HANDLER | ÄÁÆ®·Ñ ½Äº°ÀÚ¸¦ ±â¹ÝÀ¸·Î Çϴ ó¸®±â ÇÔ¼ö¸¦ WM_NOTIFY ¸Þ½ÃÁö¸¦ ¸ÅÇÎÇÕ´Ï´Ù. |
| NOTIFY_CODE_HANDLER | WM_NOTIFY ¸Þ½ÃÁö¸¦ ¾Ë¸² Äڵ带 ±â¹ÝÀ¸·Î Çϴ ó¸®±â ÇÔ¼ö¸¦ ¸ÅÇÎÇÕ´Ï´Ù. |
| NOTIFY_RANGE_HANDLER | ÄÁÆ®·Ñ ½Äº°ÀÚ¸¦ ±â¹ÝÀ¸·Î Çϴ ó¸®±â ÇÔ¼ö¸¦ WM_NOTIFY ¸Þ½ÃÁöÀÇ ¿¬¼Ó ¹üÀ§¸¦ ¸ÅÇÎÇÕ´Ï´Ù. |
´ÙÀ½ ¸ÅÅ©·Î ¸Þ½ÃÁö¸¦ ´Ù¸¥ ¸Þ½ÃÁö ¸Ê Á÷Á¢. ÀÌ ÇÁ·Î¼¼½º¸¦ "üÀÎ." ¶ó°í
| ¸ÅÅ©·Î | ¼³¸í |
| CHAIN_MSG_MAP | ±âº» Ŭ·¡½º¿¡ ÀÖ´Â ±âº» ¸Þ½ÃÁö ¸Ê üÀΡ£ |
| CHAIN_MSG_MAP_MEMBER | ±âº» ¸Þ½ÃÁö ¸Ê Ŭ·¡½ºÀÇ µ¥ÀÌÅÍ ¸â¹ö¿¡ üÀΡ£ |
| CHAIN_MSG_MAP_ALT | ±âº» Ŭ·¡½º¿¡´Â ´ëü ¸Þ½ÃÁö ¸Ê üÀΡ£ |
| CHAIN_MSG_MAP_ALT_MEMBER | Ŭ·¡½ºÀÇ µ¥ÀÌÅÍ ¸â¹ö¿¡´Â ´ëü ¸Þ½ÃÁö ¸Ê üÀΡ£ |
| CHAIN_MSG_MAP_DYNAMIC | ·±Å¸ÀÓ¿¡ ´Ù¸¥ Ŭ·¡½ºÀÇ ±âº» ¸Þ½ÃÁö ¸Ê üÀΡ£ |
¿¹Á¦
cMyWindow Ŭ·¡½º:...
{
°ø°³:
nbsp; ...
BEGIN_MSG_MAP(CMyWindow)
???? MESSAGE_HANDLER (WM_PAINT, OnPaint)
???? MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
???? CHAIN_MSG_MAP(CMyBaseWindow)
? END_MSG_MAP()
LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
? { ... }
LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
? { ... }
}
°æ¿ì´Â CMyWindow °³Ã¼¸¦ ¹Þ½À´Ï´Ù´Â WM_PAINT ¸Þ½ÃÁö, ¸Þ½ÃÁö À̵¿ CMyWindow::OnPaint ½ÇÁ¦ 󸮿¡ ´ë ÇÑ. ¸¸¾à OnPaint ¸Þ½ÃÁö ¸Þ½ÃÁö °ÍÀ» ó¸® ÇÏ´Â °ÍÀÌ ´õ Çʿ並 ³ªÅ¸³À´Ï´Ù ´ÙÀ½¿¡ ±âº» ¸Þ½ÃÁö Áöµµ °¨µ¶CMyBaseWindow¡£
±âº» ¸Þ½ÃÁö ¸ÊÀ» ¿Ü¿¡ ALT_MSG_MAP¿Í ´ëü ¸Þ½ÃÁö ¸ÊÀ» Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç×»ó BEGIN_MSG_MAPÇÔ²² ¸Þ½ÃÁö ¸ÊÀ» ½ÃÀÛ ÇÕ´Ï´Ù. ±×·± ´ÙÀ½ ÈÄ¼Ó ´ëü ¸Þ½ÃÁö ¸ÊÀ» ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿¹Á¦¿¡¼´Â ±âº» ¸Þ½ÃÁö ¸Ê°ú ÇϳªÀÇ ´ëü ¸Þ½ÃÁö ¸ÊÀ» °¢°¢ ÇϳªÀÇ Ã³¸®±â ÇÔ¼ö¸¦ Æ÷ÇÔ ÇÏ:
BEGIN_MSG_MAP(CMyClass)
nbsp; MESSAGE_HANDLER (WM_PAINT, OnPaint)
ALT_MSG_MAP(&1)
? MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()
´ÙÀ½ ¿¹Á¦¿¡¼´Â µÎ °³ÀÇ ´ëü ¸Þ½ÃÁö ¸ÊÀ» º¸¿© ÁÝ´Ï´Ù. ±âº» ¸Þ½ÃÁö ¸ÊÀ» ºñ¾î ÀÖ½À´Ï´Ù.
BEGIN_MSG_MAP(CMyClass)
ALT_MSG_MAP(&1)
nbsp; MESSAGE_HANDLER (WM_PAINT, OnPaint)
? MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
ALT_MSG_MAP(2)
? MESSAGE_HANDLER (WM_CREATE, OnCreate)
END_MSG_MAP()
END_MSG_MAP ¸ÅÅ©·Î ¸Þ½ÃÁö ¸ÊÀÇ ³¡À» Ç¥½Ã ÇÕ´Ï´Ù. Âü°í BEGIN_MSG_MAP ¹× END_MSG_MAP Á¤È®È÷ ÇϳªÀÇ ÀνºÅϽº´Â Ç×»ó¡£
ATL¿¡¼ ¸Þ½ÃÁö ¸ÊÀ» »ç¿ë ÇÏ´Â ¹æ¹ý¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ¹®¼ÀÇ "ATL â Ŭ·¡½º." ¸Þ½ÃÁö ¸Ê À» ÂüÁ¶ÇÕ´Ï´Ù
Âü°í Ç׸ñ