Aracılığıyla paylaş


İçerdiği Windows kullanma

atl uygulayan içerdiği windows ile CContainedWindowT.İçerilen pencere iletilerini kendi sınıfında işleme yerine bir kapsayıcı nesnesine temsilci bir pencere gösterir.

[!NOT]

Bir sınıftan türer gerekmez CContainedWindowT içerdiği Windows'u kullanmak için.

İçerdiği windows ile ya da üst sınıf bir varolan Windows sınıfın veya varolan bir pencere olabilir.O üst sınıflardaki varolan Windows bir pencere oluşturmak için ilk kurucusu içinde varolan sınıf adını belirtin, sınıf CContainedWindowT nesnesi.Ardından çağrı CContainedWindowT::Create.Varolan bir pencerenin alt sınıf için Windows sınıf adını belirtmeniz gerekmez (pass null yapıcısına).Basitçe çağrısı CContainedWindowT::SubclassWindow yöntemi ile alt sınıfı pencere tanıtıcısı.

İçerdiği windows genellikle veri container sınıfının üyeleri olarak kullanın.Kapsayıcı bir pencere olması gerekmez; Ancak, gelen türetilmelidir CMessageMap.

İçerilen pencere iletilerini işlemek için diğer ileti haritaları kullanabilirsiniz.Birden fazla dosyada içerilen penceresi varsa, her ayrı bir dosyada içerilen pencere karşılık gelen ileti haritalar, birkaç alternatif bildirmeniz gerekir.

Örnek

İki içerdiği windows ile container sınıfının örneği aşağıda verilmiştir:

class CMyContainer : public CMessageMap
{
public:
   CContainedWindow m_wndEdit;
   CContainedWindow m_wndList;

   CMyContainer() : m_wndEdit(_T("Edit"), this, 1), 
                    m_wndList(_T("List"), this, 2)
   {
   }

   BEGIN_MSG_MAP(CMyContainer)
   ALT_MSG_MAP(1)
      // handlers for the Edit window go here
   ALT_MSG_MAP(2)
      // handlers for the List window go here
   END_MSG_MAP()

};

İçerdiği windows hakkında daha fazla bilgi için bkz: SUBEDIT örnek.

Ayrıca bkz.

Diğer Kaynaklar

atl pencere sınıfları