Pencere Sınıfı Makroları
Bu makrolar pencere sınıfı yardımcı programlarını tanımlar.
Veri Akışı Adı | Açıklama |
---|---|
DECLARE_WND_CLASS | Yeni bir pencere sınıfının adını belirtmenize olanak tanır. |
DECLARE_WND_CLASS2 | (Visual Studio 2017) Yeni bir pencere sınıfının adını ve yeni sınıfın pencere yordamını kullanacağı kapsayan sınıfı belirtmenize olanak tanır. |
DECLARE_WND_SUPERCLASS | Yeni bir pencere sınıfının temel alınacağı mevcut bir pencere sınıfının adını belirtmenize olanak tanır. |
DECLARE_WND_CLASS_EX | Bir sınıfın parametrelerini belirtmenize olanak tanır. |
Gereksinimler
Üst bilgi: atlwin.h
DECLARE_WND_CLASS
Yeni bir pencere sınıfının adını belirtmenize olanak tanır. Bu makrou bir ATL ActiveX denetiminin denetim sınıfına yerleştirin.
DECLARE_WND_CLASS( WndClassName )
Parametreler
WndClassName
[in] Yeni pencere sınıfının adı. NULL ise, ATL bir pencere sınıfı adı oluşturur.
Açıklamalar
/permissive- derleyici seçeneğini kullanıyorsanız, DECLARE_WND_CLASS derleyici hatasına neden olur; yerine DECLARE_WND_CLASS2 kullanın.
DECLARE_WND_CLASS, bilgileri CWndClassInfo tarafından yönetilecek yeni bir pencere sınıfının adını belirtmenize olanak tanır. DECLARE_WND_CLASS aşağıdaki statik işlevi uygulayarak yeni pencere sınıfını tanımlar:
static CWndClassInfo& GetWndClassInfo();
DECLARE_WND_CLASS yeni pencere için aşağıdaki stilleri belirtir:
CS_HREDRAW
CS_VREDRAW
CS_DBLCLKS
DECLARE_WND_CLASS varsayılan pencerenin arka plan rengini de belirtir. Kendi stillerinizi ve arka plan renginizi sağlamak için DECLARE_WND_CLASS_EX makroyu kullanın.
CWindowImpl , yeni bir pencere sınıfını temel alan bir pencere oluşturmak için DECLARE_WND_CLASS makroyu kullanır. Bu davranışı geçersiz kılmak için DECLARE_WND_SUPERCLASS makrosunu kullanın veya Kendi GetWndClassInfo işlevini uygulamanızı sağlayın.
ATL'de pencereleri kullanma hakkında daha fazla bilgi için ATL Pencere Sınıfları makalesine bakın.
DECLARE_WND_CLASS2
(Visual Studio 2017) DECLARE_WND_CLASS benzer, ancak /permissive- seçeneğiyle derlenirken bağımlı ad hatasını önleyen ek bir parametre ile.
DECLARE_WND_CLASS2( WndClassName, EnclosingClass )
Parametreler
WndClassName
[in] Yeni pencere sınıfının adı. NULL ise, ATL bir pencere sınıfı adı oluşturur.
EnclosingClass
[in] Yeni pencere sınıfını kapsayan pencere sınıfının adı. NULL olamaz.
Açıklamalar
/permissive- seçeneğini kullanıyorsanız, bağımlı bir ad içerdiğinden DECLARE_WND_CLASS derleme hatasına neden olur. DECLARE_WND_CLASS2, bu makronun kullanıldığı sınıfı açıkça adlandırmanızı gerektirir ve /permissive- bayrağı altında hataya neden olmaz. Aksi takdirde bu makro DECLARE_WND_CLASS aynıdır.
DECLARE_WND_SUPERCLASS
Bir sınıfın parametrelerini belirtmenize olanak tanır. Bu makrou bir ATL ActiveX denetiminin denetim sınıfına yerleştirin.
DECLARE_WND_SUPERCLASS( WndClassName, OrigWndClassName )
Parametreler
WndClassName
[in] OrigWndClassName üst sınıfını alacak pencere sınıfının adı. NULL ise, ATL bir pencere sınıfı adı oluşturur.
OrigWndClassName
[in] Var olan bir pencere sınıfının adı.
Açıklamalar
Bu makro, var olan bir pencere sınıfını üst sınıfa alacak bir pencere sınıfının adını belirtmenize olanak tanır. CWndClassInfo , üst sınıfın bilgilerini yönetir.
DECLARE_WND_SUPERCLASS aşağıdaki statik işlevi uygular:
static CWndClassInfo& GetWndClassInfo();
Varsayılan olarak, CWindowImpl yeni bir pencere sınıfını temel alan bir pencere oluşturmak için DECLARE_WND_CLASS makroyu kullanır. Türetilmiş bir CWindowImpl
sınıfta DECLARE_WND_SUPERCLASS makro belirterek, pencere sınıfı var olan bir sınıfı temel alır, ancak pencere yordamınızı kullanır. Bu teknik üst sınıflama olarak adlandırılır.
DECLARE_WND_CLASS ve DECLARE_WND_SUPERCLASS makrolarını kullanmanın yanı sıra, GetWndClassInfo işlevini kendi uygulamanızla geçersiz kılabilirsiniz.
ATL'de pencereleri kullanma hakkında daha fazla bilgi için ATL Pencere Sınıfları makalesine bakın.
DECLARE_WND_CLASS_EX
Yeni bir pencere sınıfının temel alınacağı mevcut bir pencere sınıfının adını belirtmenize olanak tanır. Bu makrou bir ATL ActiveX denetiminin denetim sınıfına yerleştirin.
DECLARE_WND_CLASS_EX( WndClassName, style, bkgnd )
Parametreler
WndClassName
[in] Yeni pencere sınıfının adı. NULL ise, ATL bir pencere sınıfı adı oluşturur.
üslup
[in] Pencerenin stili.
bkgnd
[in] Pencerenin arka plan rengi.
Açıklamalar
Bu makro, bilgileri CWndClassInfo tarafından yönetilecek olan yeni bir pencere sınıfının sınıf parametrelerini belirtmenize olanak tanır. DECLARE_WND_CLASS_EX aşağıdaki statik işlevi uygulayarak yeni pencere sınıfını tanımlar:
static CWndClassInfo& GetWndClassInfo();
Varsayılan stilleri ve arka plan rengini kullanmak istiyorsanız DECLARE_WND_CLASS makroyu kullanın. ATL'de pencereleri kullanma hakkında daha fazla bilgi için ATL Pencere Sınıfları makalesine bakın.