Aracılığıyla paylaş


CWindowImpl sınıfı

Bu sınıf oluşturma veya bir pencere sınıflara yönelik yöntemler sağlar.

Önemli notÖnemli

Bu sınıf ve üyeleri, Windows çalışma zamanında yürütmek uygulamalarda kullanılamaz.

template <
class T,
class TBase= CWindow,
class TWinTraits= CControlWinTraits 
>
class ATL_NO_VTABLE CWindowImpl :
public CWindowImplBaseT< TBase, TWinTraits>

Parametreler

  • T
    Kullanacağınız sınıf türetilmiş CWindowImpl.

  • TBase
    Yeni sınıfınızın temel sınıfı.Varsayılan temel sınıfı olan CWindow.

  • TWinTraits
    A nitelikler sınıf , pencereniz için stilleri tanımlar.Varsayılan, CControlWinTraits değeridir.

Üyeler

h4616bh2.collapse_all(tr-tr,VS.110).gifPublic yöntemler

Ad

Description

CWindowImpl::Create

Bir pencere oluşturur.

h4616bh2.collapse_all(tr-tr,VS.110).gifCWindowImplBaseT yöntemi

DefWindowProc

Varsayılan ileti işleme sağlar.

GetCurrentMessage

Geçerli iletiyi döndürür.

GetWindowProc

Geçerli pencere yordamı döndürür.

OnFinalMessage

Son ileti alındıktan sonra adı verilen (genellikle WM_NCDESTROY).

SubclassWindow

Pencere bir alt sınıfları.

UnsubclassWindow

Daha önce subclassed bir pencereyi getirir.

h4616bh2.collapse_all(tr-tr,VS.110).gifStatik yöntemler

GetWndClassInfo

Statik bir örneğini döndürür CWndClassInfo, pencere sınıf bilgilerini yönetir.

WindowProc

Pencereyi gönderilen iletileri işler.

h4616bh2.collapse_all(tr-tr,VS.110).gifVeri üyeleri

m_pfnSuperWindowProc

Pencere sınıfı'nın orijinal pencere yordamı için işaret ediyor.

Notlar

CWindowImplsınıfın veya yeni bir pencerede varolan pencerede oluşturmanıza olanak tanır.CWindowImplinde uygun işleyicileri için doğrudan iletiler ileti eşlemeniz pencere yordamı kullanır.

CWindowImpl::Createtarafından yönetilen pencere sınıfı bilgileri temel alarak yeni bir pencere oluşturur CWndClassInfo.CWindowImpliçeren declare_wnd_class anlamına gelir makro CWndClassInfo yeni bir pencere sınıfı kaydeder.Varolan bir pencere sınıfı için sınıf istiyorsanız, kendi sınıfından türeyen CWindowImpl ve declare_wnd_superclass makro.Bu durumda, CWndClassInfo , varolan bir sınıfa bağlı ancak kullanan bir pencere sınıfı kaydedeceğini CWindowImpl::WindowProc.Örne?in:

class ATL_NO_VTABLE CMyWindow :
   OtherInheritedClasses
   public CComControl<CMyWindow>
          // CComControl derives from CWindowImpl
{
public:
   // 1. The NULL parameter means ATL will generate a
   //    name for the superclass
   // 2. The "EDIT" parameter means the superclass is
   //    based on the standard Windows Edit box
   DECLARE_WND_SUPERCLASS(NULL, _T("EDIT"))

   // Remainder of class declaration omitted

[!NOT]

Çünkü CWndClassInfo tek pencere sınıfı, her pencerenin bir örneği üzerinden oluşturulan bilgileri yöneten CWindowImpl aynı pencere sınıfını esas.

CWindowImplAyrıca pencerenin alt sınıflara ayırma destekler.SubclassWindow Yöntemi ekler Varolan bir pencerede CWindowImpl object ve pencere yordamı değiştirir CWindowImpl::WindowProc.Her bir örneği CWindowImpl farklı bir pencereye alt sınıfı olabilir.

[!NOT]

Herhangi verilen CWindowImpl nesne, ya da call Create veya SubclassWindow.Her iki yöntem de aynı nesne üzerinde çağıracağı değil.

Ek olarak CWindowImpl, atl sağlar CContainedWindow başka bir nesnenin içinde bulunan bir pencere oluşturmak için.

Temel sınıf yıkıcı (~CWindowImplRoot) nesneyi yok edilmeden pencere gitmiş olmasını gerektirir.

CWindowImpltüretildiği CWindowImplBaseT, hangi türeyen CWindowImplRoot, hangi sırayla türeyen TBase ve CMessageMap.

Daha fazla bilgi

Daha fazla bilgi için bkz:

Denetimleri oluşturma

atl Öğreticisi

atl Windows kullanma

atl pencere sınıfları

atl Project Sihirbazı

atl proje oluşturma

Windows

Windows yordamlar hakkında

Devralma hiyerarşisi

CMessageMap

TBase

CWindowImplRoot

CWindowImplBaseT

CWindowImpl

Gereksinimler

Başlık: atlwin.h

Ayrıca bkz.

Başvuru

BEGIN_MSG_MAP

CComControl sınıfı

Diğer Kaynaklar

atl sınıfına genel bakış