Aracılığıyla paylaş


CWndClassInfo Sınıfı

Uyarı

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

Bu sınıf, bir pencere sınıfı için bilgileri kaydetmek için yöntemler sağlar.

Önemli

Bu sınıf ve üyeleri Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz.

Sözdizimi

class CWndClassInfo

Üyeler

Genel Yöntemler

Veri Akışı Adı Açıklama
Kaydolma Pencere sınıfını kaydeder.

Veri Üyeleri

Veri Akışı Adı Açıklama
m_atom Kayıtlı pencere sınıfını benzersiz olarak tanımlar.
m_bSystemCursor İmleç kaynağının bir sistem imlecine mi yoksa modül kaynağında bulunan bir imleç mi olduğunu belirtir.
m_lpszCursorID İmleç kaynağının adını belirtir.
m_lpszOrigName Var olan bir pencere sınıfının adını içerir.
m_szAutoName Pencere sınıfının ATL tarafından oluşturulan adını tutar.
m_wc Pencere sınıfı bilgilerini bir WNDCLASSEX yapıda tutar.
pWndProc Varolan bir pencere sınıfının pencere yordamını gösterir.

Açıklamalar

CWndClassInfo bir pencere sınıfının bilgilerini yönetir. Genellikle aşağıdaki tabloda açıklandığı gibi DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX veya DECLARE_WND_SUPERCLASS üç makrodan birini kullanırsınız CWndClassInfo :

Makro Açıklama
DECLARE_WND_CLASS CWndClassInfo yeni bir pencere sınıfı için bilgileri kaydeder.
DECLARE_WND_CLASS_EX CWndClassInfo , sınıf parametreleri de dahil olmak üzere yeni bir pencere sınıfı için bilgileri kaydeder.
DECLARE_WND_SUPERCLASS CWndClassInfo var olan bir sınıfı temel alan ancak farklı bir pencere yordamı kullanan bir pencere sınıfı için bilgileri kaydeder. Bu teknik üst sınıflama olarak adlandırılır.

Varsayılan olarak, CWindowImpl yeni bir pencere sınıfını temel alan bir pencere oluşturmak için makroyu içerir DECLARE_WND_CLASS . DECLARE_WND_CLASS, denetim için varsayılan stiller ve arka plan rengi sağlar. Stili ve arka plan rengini kendiniz belirtmek istiyorsanız, sınıfınızı öğesinden CWindowImpl türetin ve sınıf tanımınıza DECLARE_WND_CLASS_EX makroyu ekleyin.

Var olan bir pencere sınıfını temel alan bir pencere oluşturmak istiyorsanız, sınıfınızı öğesinden CWindowImpl türetin ve sınıf tanımınıza DECLARE_WND_SUPERCLASS makroyu ekleyin. Ö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

Pencere sınıfları hakkında daha fazla bilgi için bkz . Windows SDK'sında Pencere Sınıfları .

ATL'de pencereleri kullanma hakkında daha fazla bilgi için ATL Pencere Sınıfları makalesine bakın.

Gereksinimler

Üst bilgi: atlwin.h

CWndClassInfo::m_atom

Kayıtlı pencere sınıfı için benzersiz tanımlayıcıyı içerir.

ATOM m_atom;

CWndClassInfo::m_bSystemCursor

TRUE ise, pencere sınıfı kaydedildiğinde sistem imleci kaynağı yüklenir.

BOOL m_bSystemCursor;

Açıklamalar

Aksi takdirde, modülünüzde bulunan imleç kaynağı yüklenir.

CWndClassInfoyalnızca DECLARE_WND_CLASS (CWindowImpl'dem_bSystemCursor varsayılan) veya DECLARE_WND_CLASS_EX makro belirtildiğinde kullanır. Bu durumda TRUE m_bSystemCursor olarak başlatılır. Daha fazla bilgi için bkz. CWndClassInfo'ya genel bakış.

CWndClassInfo::m_lpszCursorID

İmleç kaynağının adını veya düşük sıralı sözcükte kaynak tanımlayıcısını ve yüksek sıralı sözcükte sıfırı belirtir.

LPCTSTR m_lpszCursorID;

Açıklamalar

Pencere sınıfı kaydedildiğinde, tarafından m_lpszCursorID tanımlanan imlecin tanıtıcısı m_wc tarafından alınır ve depolanır.

CWndClassInfoyalnızca DECLARE_WND_CLASS (CWindowImpl'dem_lpszCursorID varsayılan) veya DECLARE_WND_CLASS_EX makro belirtildiğinde kullanır. Bu durumda, m_lpszCursorID IDC_ARROW olarak başlatılır. Daha fazla bilgi için bkz. CWndClassInfo'ya genel bakış.

CWndClassInfo::m_lpszOrigName

Var olan bir pencere sınıfının adını içerir.

LPCTSTR m_lpszOrigName;

Açıklamalar

CWndClassInfoyalnızca sınıf tanımınıza DECLARE_WND_SUPERCLASSm_lpszOrigNameeklediğinizde kullanır. Bu durumda, CWndClassInfo tarafından m_lpszOrigNameadlı sınıfı temel alan bir pencere sınıfı kaydeder. Daha fazla bilgi için bkz. CWndClassInfo'ya genel bakış.

CWndClassInfo::m_szAutoName

Pencere sınıfının adını tutar.

TCHAR m_szAutoName[13];

Açıklamalar

CWndClassInfoyalnızca DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX veyam_szAutoName DECLARE_WND_SUPERCLASS WndClassNameparametresi için NULL geçirilirse kullanır. ATL, pencere sınıfı kaydedildiğinde bir ad oluşturur.

CWndClassInfo::m_wc

WNDCLASSEX yapısında pencere sınıfı bilgilerini korur.

WNDCLASSEX m_wc;

Açıklamalar

DECLARE_WND_CLASS (CWindowImpl'de varsayılan) veya DECLARE_WND_CLASS_EX makroyu belirttiyseniz, m_wc yeni bir pencere sınıfı hakkında bilgi içerir.

DECLARE_WND_SUPERCLASS makroyu belirttiyseniz, m_wc var olan bir sınıfı temel alan ancak farklı bir pencere yordamı kullanan bir pencere sınıfı olan bir üst sınıf hakkında bilgi içerir. m_lpszOrigName ve pWndProc sırasıyla var olan pencere sınıfının adını ve pencere yordamını kaydeder.

CWndClassInfo::p WndProc

Varolan bir pencere sınıfının pencere yordamını gösterir.

WNDPROC pWndProc;

Açıklamalar

CWndClassInfoyalnızca sınıf tanımınıza DECLARE_WND_SUPERCLASSpWndProceklediğinizde kullanır. Bu durumda, CWndClassInfo var olan bir sınıfı temel alan ancak farklı bir pencere yordamı kullanan bir pencere sınıfı kaydeder. Mevcut pencere sınıfının pencere yordamı içinde pWndProckaydedilir. Daha fazla bilgi için bkz. CWndClassInfo'ya genel bakış.

CWndClassInfo::Register

Henüz kaydedilmemişse pencere sınıfını kaydetmek için CWindowImpl::Create tarafından çağrılır.

ATOM Register(WNDPROC* pProc);

Parametreler

pProc
[out] Var olan bir pencere sınıfının özgün pencere yordamını belirtir.

Dönüş Değeri

Başarılı olursa, kaydedilen pencere sınıfını benzersiz olarak tanımlayan bir atom. Aksi takdirde, 0.

Açıklamalar

DECLARE_WND_CLASS (CWindowImpl'de varsayılan) veya DECLARE_WND_CLASS_EX makroyu belirttiyseniz, Register yeni bir pencere sınıfı kaydeder. Bu durumda, pProc parametresi kullanılmaz.

DECLARE_WND_SUPERCLASS makroyu belirttiyseniz, Register var olan bir sınıfı temel alan ancak farklı bir pencere yordamı kullanan bir pencere sınıfı olan bir üst sınıf kaydeder. Varolan pencere sınıfının pencere yordamı pProc içinde döndürülür.

Ayrıca bkz.

CComControl Sınıfı
Sınıfa Genel Bakış