CContainedWindow

şab&lon lt; sınıfTBaseCWindow, sınıf =TWinTraits = CControlWinTraits gt;
CContainedWindowT sınıfı: &Genel TBase

Parametreleri

TBase

Yeni sınıfınızın temel sınıfı. CWindow varsayılan taban sınıftır.

TWinTraits

Pencere stilleri tanımlayan özellikleri sınıf. CControlWinTraits varsayılandır.

&Not nbsp; CContainedWindow CContainedWindowTbir uzmanlık olduğunu. Temel sınıf veya özellikleri değiştirmek isterseniz, CContainedWindowT doğrudan kullanın.

CContainedWindow başka bir nesnenin içinde bulunan bir pencere uygular. CContainedWindow' nın pencere yordamı bir iletiyi göster içeren nesneyi uygun işleyicileri iletileri kullanır. Bir CContainedWindow nesnesi oluştururken, hangi iletiyi göster kullanılması gerektiğini belirtin.

CContainedWindow yeni bir pencere superclassing tarafından varolan bir pencere sınıfı oluşturmanıza olanak sağlar. Create yöntemi, varolan bir sınıfa dayanır ama CContainedWindow::WindowProckullanan bir pencere sınıfı ilk kaydeder. Oluşturun , sonra bu yeni pencere sınıf tabanlı bir pencere oluşturur. CContainedWindow ' ın her kopyası için üst sınıf bir farklı pencere sınıfı.

CContainedWindow , pencere sınıflara da destekler. SubclassWindow yöntemi, varolan penceresini CContainedWindow nesnesine ekler ve CContainedWindow::WindowProciçin pencere yordamı değiştirir. CContainedWindow ' ın her kopyası için alt farklı bir pencere.

&Notnbsp;  Verilen herhangi bir CContainedWindow nesnesi için Oluştur veya SubclassWindowarayın. Size değil çağırır iki yöntem de aynı nesne üzerinde.

Atl nesne Sihirbazı'nda temel ekle denetim seçeneğini kullandığınızda, sihirbaz denetimi gerçekleştiren sınıf için CContainedWindow veri üyesi otomatik olarak ekler. Aşağıdaki örnek alınır SUBEDIT örnek ve nasıl bulunan pencere ilan gösterir

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;
   }

   ...
};
Hakkında daha fazla bilgi için Bkz.
Denetim oluşturma Atl eğitimi
Atl Windows kullanarak Atl pencere sınıfları
Atl nesne Sihirbazı Atl proje oluşturma
Windows Windows ve sonraki konu Platform sdk
Sınıflara Pencere yordamı sınıflara Platform sdk
Superclassing Pencere yordamı Superclassing Platform sdk

# include lt;atlwin.h>

Sınıf üyeleri

Ayrıca bkz:

CWindow, CWindowImpl, CMessageMap, BEGIN_MSG_MAP, alt_msg_map

Index