CDynamicChain

klasa CDynamicChain

CDynamicChain zarządza kolekcją wiadomości map, umożliwiające wiadomość Windows kierować w czasie wykonywania, do innego obiektu wiadomości mapę.

Aby dodać obsługę dla dynamicznych łańcuchowym mapy wiadomości, wykonaj następujące czynności:

Na przykład załóżmy, że klasa jest zdefiniowana w następujący sposób:

klasa CMyWindow: CDynamicChain publicznych,...
{
publiczne:
 nbsp; ...

BEGIN_MSG_MAP(CMyWindow)
      MESSAGE_HANDLER (WM_PAINT, OnPaint)
      MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
      / / dynamicznie łańcucha domyślne
      / / wiadomości mapę w innym obiekcie
      CHAIN_MSG_MAP_DYNAMIC(1313)
                / / "1313" identyfikuje obiekt
                / / i mapę komunikat, który będzie
                / / chained to. "1313" jest zdefiniowany
                / / za pomocą metody SetChainEntry
   END_MSG_MAP()

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

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

};

Następnie wywołuje klientaCMyWindow::SetChainEntry

/ / myCtl jest obiektem CMyWindow
myCtl.SetCh&ainEntry (1313 amp; chainedObj);

gdzie chainedObj jest obiektem łańcuchowej i jest instancją klasy pochodzące z CMessageMap. Teraz Jeśli myCtl odbierze komunikat, który nie jest obsługiwany przez OnPaint lub OnSetFocus , procedurę okna kieruje wiadomość do chainedObj na domyślny komunikat mapę.

Więcej informacji na temat wiadomości mapę łańcuchowym można znaleźć Wiadomość mapy w artykule "ATL okno klasy."

# include lt;atlwin.h>

Członkowie klasy

Zobacz też CWindowImpl

Index