CWindowImpl

テンプレート lt; クラスTクラスする TBaseCWindow、クラス =TWinTraitsCControlWinTraits = >
ATL_NO_VTABLE CWindowImpl クラス: パブリック CWindowImplBaseT <
する TBase, TWinTraits >

パラメーター

T

CWindowImplの派生クラス。

する TBase

新しいクラスの基本クラス。CWindowは、デフォルトの基本クラスです。

TWinTrait

ウィンドウのスタイルを定義する特徴クラス。既定値はCControlWinTraitsです。

CWindowImplサブクラスを新しいウィンドウに、既存のウィンドウを作成することができます。CWindowImplのウィンドウ プロシージャでメッセージ マップを使用して、適切なハンドラーへのメッセージを直接に。

CWindowImpl::Create は、CWndClassInfoによって管理されているウィンドウ クラス情報に基づいて新規ウィンドウを作成します。CWindowImpl には、CWndClassInfo新しいウィンドウ クラスを登録することを意味は、マクロが含まれています。既存のウィンドウ クラスをスーパークラスに場合は、 CWindowImplからクラスを派生し、 DECLARE_WND_SUPERCLASSマクロが含まれます。この場合は、CWndClassInfoは、既存のクラスに基づいていますが、 CWindowImpl::WindowProcを使用して、ウィンドウ クラスを登録します。たとえば

クラスの CMyWindow: CComControllt;CMyWindow >、.//CComControl CWindowImpl の派生{パブリック。// 1.NULL パラメーターは ATL を生成ことを意味します。//、スーパークラスの名前// 2.「編集」パラメーター、スーパークラスです//、標準の Windows を編集ボックスに基づくDECLARE_WND_SUPERCLASS ([編集] NULL)...};

特価;1 つのウィンドウ クラスの情報は、CWndClassInfoを管理しているため、 CWindowImplのインスタンスを通じて作成された各ウィンドウ、同じウィンドウ クラスのベースとなります。(&N)。

CWindowImplには、ウィンドウのサブクラス化もサポートしています。SubclassWindowメソッドは、既存のウィンドウをCWindowImplオブジェクトにアタッチ、ウィンドウ プロシージャをCWindowImpl::WindowProcに変更します。CWindowImplの各インスタンスには、別のウィンドウをサブクラス化することができます。

特価;任意のCWindowImplオブジェクトを作成またはSubclassWindowのいずれかを呼び出します。両方が同じオブジェクトのメソッドを呼び出す必要がないです。(&N)。

CWindowImplのほかに、ATL の別のオブジェクトに含まれるウィンドウを作成するには、 CContainedWindowを提供します。

基本クラスのデストラクター (~CWindowImplRoot)、オブジェクトが破棄される前に、ウィンドウがなくなったことを確認。

CWindowImplBaseTからCWindowImplRootする TBaseCMessageMapから派生、派生、 CWindowImplの派生します。

詳細については 参照してください。
コントロールの作成 ATL チュートリアル
ATL でのウィンドウの使用 ATL ウィンドウ クラス
ATL オブジェクト ウィザード ATL プロジェクトの作成
Windows Windowsと以降のトピック、プラットフォーム SDK
サブクラスの作成 ウィンドウ プロシージャ サブクラス化プラットフォーム SDK
スーパークラス化 プラットフォーム SDKウィンドウ プロシージャのスーパークラス化

#include lt;atlwin.h>

クラス メンバー

参照してください。

BEGIN_MSG_MAPCComControl

Index