Share via


CWndClassInfo クラス

このクラスには、ウィンドウ クラスの情報を登録するためのメソッドが用意されています。

class CWndClassInfo

解説

CWndClassInfo は、ウィンドウ クラスの情報を管理します。 CWndClassInfo は、通常、DECLARE_WND_CLASSDECLARE_WND_CLASS_EX、または DECLARE_WND_SUPERCLASS のいずれかのマクロを通じて使用します。次の表では、この 3 つのマクロについて説明します。

マクロ

説明

DECLARE_WND_CLASS

CWndClassInfo は、新しいウィンドウ クラスの情報を登録します。

DECLARE_WND_CLASS_EX

CWndClassInfo は、クラスのパラメーターを含む新しいウィンドウ クラスの情報を登録します。

DECLARE_WND_SUPERCLASS

CWndClassInfo は、既存のクラスに基づくウィンドウ クラスの情報を登録します。ただし、ウィンドウ プロシージャは既存のクラスのものではなく、別のウィンドウ プロシージャに変更されます。 このテクニックは、スーパークラス化と呼ばれています。

既定では、CWindowImplDECLARE_WND_CLASS マクロをインクルードして新しいウィンドウ クラスに基づくウィンドウを作成します。 DECLARE_WND_CLASS は、コントロールの既定のスタイルおよび背景色を提供します。 独自のスタイルおよび背景色を指定するには、CWindowImpl からクラスを派生し、このクラス定義に DECLARE_WND_CLASS_EX マクロをインクルードします。

既存のウィンドウ クラスに基づくウィンドウを作成するには、CWindowImpl からクラスを派生し、このクラス定義に DECLARE_WND_SUPERCLASS マクロをインクルードします。 次に例を示します

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

ウィンドウ クラスの詳細については、Windows SDK の「Window Classes」を参照してください。

ATL でのウィンドウの使い方の詳細については、「ATL ウィンドウ クラス」を参照してください。

必要条件

**ヘッダー:**atlwin.h

参照

参照

CComControl クラス

その他の技術情報

CWndClassInfo のメンバー

ATL クラスの概要