DECLARE_WND_SUPERCLASS

更新 : 2007 年 11 月

クラスのパラメータを指定できます。このマクロを ATL ActiveX コントロールのコントロール クラスに入れます。

DECLARE_WND_SUPERCLASS( 
      WndClassName, 
      OrigWndClassName  
)

パラメータ

  • WndClassName
    [入力] OrigWndClassName をスーパークラス化するウィンドウ クラスの名前。NULL の場合は、ATL がウィンドウ クラス名を生成します。

  • OrigWndClassName
    [入力] 既存のウィンドウ クラスの名前。

解説

既存のウィンドウ クラスをスーパークラス化するウィンドウ クラスの名前を指定できます。CWndClassInfo は、スーパークラスの情報を管理します。

DECLARE_WND_SUPERCLASS は、次の静的関数を実装しています。

static CWndClassInfo& GetWndClassInfo();

既定では、CWindowImplDECLARE_WND_CLASS マクロを使用して新しいウィンドウ クラスに基づくウィンドウを作成します。CWindowImpl の派生クラスに DECLARE_WND_SUPERCLASS マクロを指定すると、ウィンドウ クラスは既存のクラスに基づきます。ただし、ウィンドウ プロシージャは既存のクラスのものではなく独自のものを使用します。このテクニックは、スーパークラス化と呼ばれています。

DECLARE_WND_CLASS マクロおよび DECLARE_WND_SUPERCLASS マクロを使用できるほかに、GetWndClassInfo 関数を独自の実装でオーバーライドすることもできます。

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

必要条件

ヘッダー : atlwin.h

参照

その他の技術情報

ウィンドウ クラスに関するマクロ

ATL マクロ