cMessageMap をクラスします。
CMessageMapは抽象基本クラス オブジェクトのメッセージが別のオブジェクトにアクセスするマップです。ためにメッセージ マップを公開するオブジェクトは、 CMessageMapからクラスを派生する必要があります。
ATL では、 CMessageMapを使用して、含まれているサポート windows、動的メッセージ マップのチェインします。たとえば、 CContainedWindowオブジェクトを含む任意のクラスCMessageMapから派生する必要があります。次のコードにあるからです、 SUBEDITサンプル。CComControl、を通じて、 CAtlEdit クラスを自動的に派生CMessageMapから。
cAtlEdit クラス: 公共の CComControllt;CAtlEdit >、.//CComControl 派生 CWindowImpl から//CMessageMap の派生{パブリック。//コンテナー内のウィンドウのデータ メンバーを宣言CContainedWindow m_EditCtrl;//ウィンドウを初期化します。// 1.「指定を編集」を渡す、含まれている・ ・ ウィンドウは、標準に基づいて必要があります・ ・ ウィンドウの編集ボックス// 2.指定するには 'this' のポインターを渡すは、CAtlEdit//を使用するには、メッセージ マップが含まれている、・ ・ コンテナー内のウィンドウのメッセージの処理// 3.メッセージ マップの識別子を渡します。で//この場合は、'1' を識別、メッセージ マップ・ ・ ALT_MSG_MAP(1) で宣言CAtlEdit(): m_EditCtrl(_T("EDIT")、この 1){m_bWindowOnly = TRUE;}//既定のメッセージ マップを宣言BEGIN_MSG_MAP(CAtlEdit)割り当てます (WM_PAINT、OnPaint)...//代替メッセージ マップを宣言・ ・ '1' で識別されます。ALT_MSG_MAP(1)割り当てます (WM_CHAR、OnChar)END_MSG_MAP()...};
ウィンドウ、 m_EditCtrl を含む、クラスのメッセージ マップを使用する CAtlEdit からCMessageMapの派生。
メッセージ マップの詳細については、メッセージ マップ記事「ATL ウィンドウ クラス」を参照してください
#include lt;atlwin.h>
参照特価;CDynamicChain、 BEGIN_MSG_MAP、 ALT_MSG_MAP(&N)