CWindowImpl sınıfı
Bu sınıf oluşturma veya bir pencere sınıflara yönelik yöntemler sağlar.
Ö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
Public yöntemler
Ad |
Description |
---|---|
Bir pencere oluşturur. |
CWindowImplBaseT yöntemi
Varsayılan ileti işleme sağlar. |
|
Geçerli iletiyi döndürür. |
|
Geçerli pencere yordamı döndürür. |
|
Son ileti alındıktan sonra adı verilen (genellikle WM_NCDESTROY). |
|
Pencere bir alt sınıfları. |
|
Daha önce subclassed bir pencereyi getirir. |
Statik yöntemler
Statik bir örneğini döndürür CWndClassInfo, pencere sınıf bilgilerini yönetir. |
|
Pencereyi gönderilen iletileri işler. |
Veri üyeleri
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 Windows kullanma |
|
atl Project Sihirbazı |
|
Windows |
Devralma hiyerarşisi
TBase
CWindowImplRoot
CWindowImplBaseT
CWindowImpl
Gereksinimler
Başlık: atlwin.h