CDynamicChain

clase CDynamicChain

CDynamicChain administra una colección de mapas de mensajes, lo que permite un mensaje de Windows para orientarse, en tiempo de ejecución, al mapa de mensajes de otro objeto.

Para agregar compatibilidad con encadenamiento dinámico de mapas de mensajes, haga lo siguiente:

Por ejemplo, supongamos que su clase se define como sigue:

clase CMyWindow: CDynamicChain pública,...
{
público:
 nbsp; ...

BEGIN_MSG_MAP(CMyWindow)
      MESSAGE_HANDLER (WM_PAINT, OnPaint)
      MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
      / / cadena dinámicamente a predeterminado
      / / mensaje mapa en otro objeto
      CHAIN_MSG_MAP_DYNAMIC(1313)
                / / '1313' identifica el objeto
                / / y el mapa de mensajes que será
                / / encadenados a. se define '1313'
                / / a través del método SetChainEntry
   END_MSG_MAP()

LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
   { ... }

LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
   { ... }

};

A continuación, llama al clienteCMyWindow::SetChainEntry

/ / myCtl es un objeto de CMyWindow
myCtl.SetCh&ainEntry (1313, amp; chainedObj);

donde chainedObj es el objeto encadenado y es una instancia de una clase derivada de CMessageMap. Ahora, si myCtl recibe un mensaje que no está controlado por OnPaint o OnSetFocus , el procedimiento de ventana dirige el mensaje a chainedObj del mapa de mensaje predeterminado.

Para obtener más información acerca de mapa de mensajes en cadena, ver Mapas de mensajes en el artículo "Clases de ventana ATL".

# include lt;atlwin.h>

Miembros de clase

Vea tambié&nnbsp;CWindowImpl

Index