Aracılığıyla paylaş


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 CWindowImplsı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.

Ayrıca bkz.

Makrolar