CDynamicChain

classe CDynamicChain

CDynamicChain gestisce una collezione di mappe di messaggi, l'attivazione di un messaggio di Windows sia diretto, in fase di esecuzione, alla mappa messaggi di un altro oggetto.

Per aggiungere il supporto per la concatenazione dinamica delle mappe messaggi, effettuare le seguenti operazioni:

Si supponga ad esempio che la classe è definita come segue:

classe CMyWindow: CDynamicChain pubblica,...
{
pubblica:
 nbsp; ...

BEGIN_MSG_MAP(CMyWindow)
      MESSAGE_HANDLER (WM_PAINT, OnPaint)
      MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
      / / catena in modo dinamico il valore predefinito
      / / mappa in un altro oggetto il messaggio
      CHAIN_MSG_MAP_DYNAMIC(1313)
                / / '1313' identifica l'oggetto
                / / e la mappa di messaggio che sarà
                / / incatenato a. '1313' è definito
                / / tramite il metodo SetChainEntry
   END_MSG_MAP()

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

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

};

Il client chiama quindiCMyWindow::SetChainEntry

/ / myCtl è un oggetto CMyWindow
myCtl.SetCh&ainEntry (1313, amp; chainedObj);

dove chainedObj è l'oggetto incatenato e é un'istanza di una classe derivata da CMessageMap. Ora, se myCtl riceve un messaggio che non è gestito da OnPaint o OnSetFocus , la routine della finestra indirizza il messaggio al chainedObj della mappa messaggi predefinita.

Per ulteriori informazioni sulla mappa di messaggi a catena, vedere Mappe messaggi nell'articolo "Classi finestra ATL."

# include lt;atlwin.h>

Membri della classe

Vedere a&nchenbsp;CWindowImpl

Index