CDynamicChain

класс CDynamicChain

CDynamicChain управляет коллекцией схемы сообщений, что позволяет Windows сообщение быть направлено, во время выполнения, для другого объекта в схеме сообщений.

Чтобы добавить поддержку для динамического связывания схемы сообщений, выполните следующие действия:

Например Предположим, что класс определяется следующим:

класс CMyWindow: общественного CDynamicChain,...
{
общественности:
 nbsp; ...

BEGIN_MSG_MAP(CMyWindow)
      MESSAGE_HANDLER (WM_PAINT, OnPaint)
      MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
      / / динамически цепные по умолчанию
      / / сообщение карту в другой объект
      CHAIN_MSG_MAP_DYNAMIC(1313)
                / / «1313» идентифицирует объект
                / / и схеме сообщений, которая будет
                / / Цепные для. определение «1313»
                / / через метод SetChainEntry
   END_MSG_MAP()

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

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

};

Клиент затем вызываетCMyWindow::SetChainEntry

/ / myCtl — это объект CMyWindow
myCtl.SetCh&ainEntry (1313, amp; chainedObj);

где chainedObj — это связанный объект и является экземпляром класса, производного от CMessageMap. Теперь если myCtl получает сообщение, которое не обрабатывается OnPaint или OnSetFocus , процедура окна направляет сообщение для chainedObj по схеме сообщений по умолчанию.

Для получения дополнительных сведений о схеме сообщений цепочки увидеть Сообщение карты в статье "Окно классов ATL."

# include lt;atlwin.h>

Члены класса

См. также CWindowImpl

Index