คลาส 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.SetChainEntry (1313 แอมป์ chainedObj)(&A);
โดยที่ chainedObj คือวัตถุลูกโซ่ และมีอินสแตนซ์ของคลาสมาจากCMessageMap ขณะนี้ ถ้า myCtl ได้รับข้อความที่ไม่ได้รับการจัดการโดย OnPaint หรือ OnSetFocus หน้าต่างกระบวนนำข้อความ chainedObj ของการแมปข้อความเริ่มต้น?
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อความการกำหนดสายงานแผนผัง ดูแผนที่ของข้อความในบทความ "ATL หน้าต่างชั้น
#รวม lt;atlwin.h>
ดูเพิ่มเติมnbspCWindowImpl(&N)