sınıf CDynamicChain
CDynamicChain , çalıştırma zamanında, başka bir nesnenin iletisi göster yönlendirilmesi için bir Windows ileti etkinleştirme iletisi haritalar, topluluğu yönetir.
Dinamik zincir ileti Haritalar için destek eklemek için aşağıdakileri yapın:
Örneğin, sınıf şöyle tanımlanır varsayalım:
cMyWindow sınıfı: Genel CDynamicChain...
{
public:
nbsp; ...
BEGIN_MSG_MAP(CMyWindow)
message_handler (WM_PAINT, OnPaint)
message_handler (wm_setfocus, OnSetFocus)
/ / dinamik zincir varsayılan
/ / mesaj için başka bir nesneyi göster
CHAIN_MSG_MAP_DYNAMIC(1313)
/ / '1313' tanımlayan nesne
/ / ve olacak mesaj göster
/ / zincirleme için. '1313' tanımlanır
/ / SetChainEntry yöntemi ile
END_MSG_MAP()
lresult OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{ ... }
lresult OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{ ... }
};
İstemci daha sonra çağırırCMyWindow::SetChainEntry
/ / myCtl bir CMyWindow nesnesi
myCtl.SetCh&ainEntry (1313, amp; chainedObj);
nerede chainedObj zincirleme nesne ve CMessageMaptüretilmiş bir sınıf örneğidir. Şimdi, eğer myCtl tarafından ele değil bir ileti alır OnPaint veya OnSetFocus , ileti penceresi yordamı yönlendirir chainedObj 'ın varsayılan ileti göster.
Zincirleme mesaj göster hakkında daha fazla bilgi için bkz: makalede "atl pencere sınıflarını." İletisini haritalar
# include lt;atlwin.h>
Ayrıca bkz: CWindowImpl