DECLARE_WND_SUPERCLASS
更新 : 2007 年 11 月
クラスのパラメータを指定できます。このマクロを ATL ActiveX コントロールのコントロール クラスに入れます。
DECLARE_WND_SUPERCLASS(
WndClassName,
OrigWndClassName
)
パラメータ
WndClassName
[入力] OrigWndClassName をスーパークラス化するウィンドウ クラスの名前。NULL の場合は、ATL がウィンドウ クラス名を生成します。OrigWndClassName
[入力] 既存のウィンドウ クラスの名前。
解説
既存のウィンドウ クラスをスーパークラス化するウィンドウ クラスの名前を指定できます。CWndClassInfo は、スーパークラスの情報を管理します。
DECLARE_WND_SUPERCLASS は、次の静的関数を実装しています。
static CWndClassInfo& GetWndClassInfo();
既定では、CWindowImpl は DECLARE_WND_CLASS マクロを使用して新しいウィンドウ クラスに基づくウィンドウを作成します。CWindowImpl の派生クラスに DECLARE_WND_SUPERCLASS マクロを指定すると、ウィンドウ クラスは既存のクラスに基づきます。ただし、ウィンドウ プロシージャは既存のクラスのものではなく独自のものを使用します。このテクニックは、スーパークラス化と呼ばれています。
DECLARE_WND_CLASS マクロおよび DECLARE_WND_SUPERCLASS マクロを使用できるほかに、GetWndClassInfo 関数を独自の実装でオーバーライドすることもできます。
ATL でのウィンドウの使い方の詳細については、「ATL ウィンドウ クラス」を参照してください。
必要条件
ヘッダー : atlwin.h