cDynamicChain Ŭ·¡½º
CDynamicChain ´Ù¸¥ °³Ã¼ÀÇ ¸Þ½ÃÁö ¸Ê¿¡ ·±Å¸ÀÓ¿¡ Áö½Ã¸¦ Windows ¸Þ½ÃÁö¸¦ »ç¿ë ÇÏ¸é ¸Þ½ÃÁö ¸ÊÀÇ Ä÷º¼ÇÀ» °ü¸®¡£
¸Þ½ÃÁö ¸Ê µ¿Àû üÀο¡ ´ë ÇÑ Áö¿øÀ» Ãß°¡ ÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù:
¿¹¸¦ µé¾î Ŭ·¡½º Á¤ÀÇ ´ÙÀ½°ú °°½À´Ï´Ù:
cMyWindow Ŭ·¡½º: °ø¿ë CDynamicChain...
{
°ø°³:
nbsp; ...
BEGIN_MSG_MAP(CMyWindow)
???? MESSAGE_HANDLER (WM_PAINT, OnPaint)
???? MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
???? / / ±âº» üÀÎÀ» µ¿ÀûÀ¸·Î
???? / / Áöµµ ´Ù¸¥ °³Ã¼¿¡ ¸Þ½ÃÁö
???? CHAIN_MSG_MAP_DYNAMIC(1313)
?????????????? / / '1313' °³Ã¼ ½Äº°
?????????????? / /¿Í µÉ ¸Þ½ÃÁö ¸Ê
?????????????? / /¸¦ üÀÎÀ¸·Î ¿¬°á ÇÕ´Ï´Ù. '1313' Á¤ÀÇ
?????????????? / / SetChainEntry ¸Þ¼µå¸¦ ÅëÇØ
? END_MSG_MAP()
LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
? { ... }
LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
? { ... }
};
´ÙÀ½ È£Ãâ Çϴ Ŭ¶óÀ̾ðÆ®CMyWindow::SetChainEntry
/ / myCtl CMyWindow °³Ã¼
myCtl.SetChainEntry (1313, amp; chainedObj)(&A);
¾îµð chainedObj üÀÎµÈ °³Ã¼ À̸ç CMessageMap¿¡¼ ÆÄ»ý µÈ Ŭ·¡½ºÀÇ ÀνºÅϽºÀÔ´Ï´Ù. Áö±Ý, ¸¸¾à myCtl ¿¡ ÀÇÇØ ó¸® µÇÁö ¾ÊÀº ¸Þ½ÃÁö°¡ OnPaint ¶Ç´Â OnSetFocus , â ÇÁ·Î½ÃÀú¿¡¼ ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù chainedObj ÀÇ ±âº» ¸Þ½ÃÁö ¸Ê¡£
¸Þ½ÃÁö ¸Ê üÀο¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ¹®¼ "ATL â Ŭ·¡½º."¿¡¼ ¸Þ½ÃÁö ¸Ê À» ÂüÁ¶
# include lt;atlwin.h>
Âü°í Ç׸ñnbsp;CWindowImpl(&N)