CContainedWindow

¼­½Ä ÆÄÀÏ lt; Ŭ·¡½ºTBaseCWindow, Ŭ·¡½º =TWinTraits(&L) = CControlWinTraits gt;
CContainedWindowT Ŭ·¡½º: °ø¿ë TBase(&G)

¸Å°³ º¯¼ö

TBase

»õ Ŭ·¡½ºÀÇ ±âº» Ŭ·¡½ºÀÔ´Ï´Ù. ±âº» ±âº» Ŭ·¡½º´Â CWindow¡£

TWinTraits

â¿¡ ´ë ÇÑ ½ºÅ¸ÀÏÀ» Á¤ÀÇ Çϴ Ư¼º Ŭ·¡½ºÀÔ´Ï´Ù. ±âº»°ªÀº CControlWinTraits ÀÔ´Ï´Ù.

¸Þ¸ð nbsp; CContainedWindow CContainedWindowTÀÇ Àü¹®È­ ÀÌ´Ù. Á÷Á¢ CContainedWindowT »ç¿ë ÇÏ´Â ±âº» Ŭ·¡½º ¶Ç´Â Ư¼ºÀ» º¯°æ(&N).

CContainedWindow ´Ù¸¥ °³Ã¼ ³»¿¡ Æ÷ÇÔ µÈ âÀ» ±¸Çö ÇÕ´Ï´Ù. CContainedWindowâ ÇÁ·Î½ÃÀú¿¡¼­´Â Æ÷ÇÔ ÇÏ´Â °³Ã¼ÀÇ ¸Þ½ÃÁö Áöµµ »ç¿ë ÇÏ ¿© ÀûÀý ÇÑ Ã³¸®±â¿¡ ¸Þ½ÃÁö¸¦ Á÷Á¢. ¸Þ½ÃÁö ¸ÊÀ» »ç¿ë ÇØ¾ß ÁöÁ¤ CContainedWindow °³Ã¼¸¦ »ý¼º ÇÏ´Â °æ¿ì¡£

CContainedWindow ¸¦ »ç¿ë ÇÏ¸é ±âÁ¸ â Ŭ·¡½º superclassing ÇÏ ¿© »õ âÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. Create ¸Þ¼­µå´Â ¸ÕÀú ±âÁ¸ Ŭ·¡½º¿¡ ±â¹Ý ÇÏÁö¸¸ CContainedWindow::WindowProc¸¦ »ç¿ë Çϴ â Ŭ·¡½º¸¦ µî·Ï ÇÕ´Ï´Ù. ¸¸µé±â ¿¡ ´ÙÀ½ÀÌ »õ â Ŭ·¡½º¸¦ ±â¹ÝÀ¸·Î Çϴ âÀ» ¸¸µì´Ï´Ù. CContainedWindow ÀÇ °¢ ÀνºÅϽº ¼ö ½´ÆÛ ´Ù¸¥ â Ŭ·¡½º¡£

CContainedWindow â ¼­ºêŬ·¡½ÌÀ» Áö¿øÇÕ´Ï´Ù. SubclassWindow ¸Þ¼­µå´Â ±âÁ¸ â CContainedWindow °³Ã¼¿¡ ¿¬°á ÇÏ °í CContainedWindow::WindowProcâ ÇÁ·Î½ÃÀú º¯°æ. °¢ ÀνºÅϽºÀÇ CContainedWindow ÇÏÀ§ ´Ù¸¥ â ¼ö¡£

¸Þ¸ðnbsp;??¾î¶² ÁÖ¾îÁøµÈ CContainedWindow °³Ã¼¿¡ ´ë ÇÑ ¸¸µé±â ¶Ç´Â SubclassWindow¸¦ È£Ãâ ÇÕ´Ï´Ù. µÎ ¹æ¹ý ¸ðµÎ µ¿ÀÏÇÑ °³Ã¼¸¦ È£Ãâ ÇÏÁö ¾Ê¾Æ¾ß(&N)¡£

ATL °³Ã¼ ¸¶¹ý»ç¿¡¼­ ÄÁÆ®·Ñ¿¡ µû¶ó Ãß°¡ ¿É¼ÇÀ» »ç¿ë ÇÏ´Â °æ¿ì ¸¶¹ý»ç´Â ÄÁÆ®·ÑÀ» ±¸Çö Çϴ Ŭ·¡½º¿¡ CContainedWindow µ¥ÀÌÅÍ ¸â¹ö¸¦ Ãß°¡ ÇÏ´Â ÀÚµ¿À¸·Î µË´Ï´Ù. ´ÙÀ½ ¿¹Á¦¿¡¼­ °¡Á®¿Â °ÍÀÔ´Ï´Ù ÀÖ´Â SUBEDIT »ùÇà ¹× Æ÷ÇÔ µÈ âÀÌ ¼±¾ð ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù

class CAtlEdit : ...
{
public:
   // Declare a contained window data member
   CContainedWindow m_EditCtrl;

   // Initialize the contained window:
   // 1. Pass "EDIT" to specify that the contained 
   //    window should be based on the standard 
   //    Windows Edit box
   // 2. Pass 'this' pointer to specify that CAtlEdit 
   //    contains the message map to be used for the 
   //    contained window's message processing
   // 3. Pass the identifier of the message map. '1'
   //    identifies the alternate message map declared
   //    with ALT_MSG_MAP(1)
   CAtlEdit() : m_EditCtrl(_T("EDIT"), this, 1)
   {
      m_bWindowOnly = TRUE;
   }

   // Declare the default message map, 
   // identified by '0'
   BEGIN_MSG_MAP(CAtlEdit)
      ...
      MESSAGE_HANDLER(WM_CREATE, OnCreate)
      ...
   // Declare an alternate message map,
   // identified by '1'
   ALT_MSG_MAP(1)
      MESSAGE_HANDLER(WM_CHAR, OnChar)
   END_MSG_MAP()

   // Define OnCreate handler
   // When the containing window receives a WM_CREATE
   // message, create the contained window by calling
   // CContainedWindow::Create
   LRESULT OnCreate(UINT uMsg, WPARAM wParam, 
                    LPARAM lParam, BOOL& bHandled)
   {
      ...
      m_EditCtrl.Create(m_hWnd, rc, _T("hello"), 
                        WS_CHILD | WS_VISIBLE | 
                        ES_MULTILINE | ES_AUTOVSCROLL);
      return 0;
   }

   ...
};
¿¡ ´ë ÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ÂüÁ¶
ÄÁÆ®·Ñ ¸¸µé±â ATL ÀÚ½À¼­
ATL¿¡¼­ âÀ» »ç¿ë ÇÏ ¿© ATL â Ŭ·¡½º
ATL °³Ã¼ ¸¶¹ý»ç ATL ÇÁ·ÎÁ§Æ® ¸¸µé±â
À©µµ¿ì Windows ¹× Ç÷§Æû SDK ÀÇ ÈÄ¼Ó Ç׸ñ
¼­ºêŬ·¡½Ì Platform SDK¿¡ Àִ â ÇÁ·Î½ÃÀú ¼­ºêŬ·¡½Ì
Superclassing Platform SDK¿¡ Àִ â ÇÁ·Î½ÃÀú Superclassing

# include lt;atlwin.h>

Ŭ·¡½º ¸â¹ö

Âü°í Ç׸ñ

CWindow, CWindowImpl, CMessageMap, BEGIN_MSG_MAP, ALT_MSG_MAP

Index