klasse CDynamicChain
CDynamicChain verwaltet eine Auflistung von Meldungszuordnungen, ermöglicht eine Windows-Meldung geleitet werden, zur Laufzeit, um ein anderes Objekt Meldungszuordnung.
Unterstützung für dynamische Verkettung von Meldungszuordnungen hinzuzufügen, führen Sie folgende Schritte:
Nehmen wir beispielsweise an, dass die Klasse wie folgt definiert ist:
klasse CMyWindow: öffentliche CDynamicChain,...
{
Öffentliche:
Nbsp; ...
BEGIN_MSG_MAP(CMyWindow)
MESSAGE_HANDLER (WM_PAINT, OnPaint)
MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
/ / dynamisch auf die Standardeinstellung Kette
/ / message Karte in einem anderen Objekt
CHAIN_MSG_MAP_DYNAMIC(1313)
/ / '1313' identifiziert das Objekt
/ / und die Meldungszuordnung, die
/ / verkettete zu. "1313" definiert ist
/ / über die SetChainEntry-Methode
END_MSG_MAP()
LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{ ... }
LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{ ... }
};
Der Client ruft dannCMyWindow::SetChainEntry
/ / MyCtl ist ein CMyWindow-Objekt
myCtl.SetChainEntry (1313 &Amp; ChainedObj);
wo chainedObj ist das verkettete Objekt und ist eine Instanz einer Klasse, abgeleitet von CMessageMap. Nun, wenn myCtl empfängt eine Nachricht, die nicht von OnPaint oder OnSetFocus , die Fensterprozedur leitet die Nachricht an chainedObj Die Standardmeldungszuordnung.
Weitere Informationen über die Meldungszuordnung Verkettung finden Sie unter Nachricht Karten in dem Artikel "ATL-Fensterklassen."
# include lt;atlwin.h>
Siehe auch&Nbsp;CWindowImpl