Aracılığıyla paylaş


Pencere Sınıfı Makroları

Uyarı

Etkin Şablon Kitaplığı (ATL) desteklenmeye devam eder. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.

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