เหตุการณ์ Maps

เมื่อใดก็ ตามตัวควบคุมความปรารถนาเพื่อแจ้งให้ทราบของคอนเทนเนอร์ที่กระทำบางอย่าง (ที่ถูกกำหนด โดยนักพัฒนาตัวควบคุม) เกิดขึ้น (เช่นการกดแป้นพิมพ์ เมาส์คลิก หรือมีการเปลี่ยนแปลงสถานะของตัวควบคุม) เรียกฟังก์ชันการเหตุการณ์เผา ฟังก์ชันนี้จะแจ้งให้ทราบในคอนเทนเนอร์ควบคุมที่กระทำสิ่งสำคัญบางอย่างเกิดขึ้น โดย firing เหตุการณ์ที่เกี่ยวข้อง?

ไลบรารี Microsoft Foundation Class เสนอแบบจำลองการเขียนโปรแกรมที่ปรับให้เหมาะสมสำหรับ firing เหตุการณ์ ในแบบจำลองนี้ "เหตุการณ์แผนที่" จะใช้ในการกำหนดฟังก์ชันที่ไฟซึ่งเหตุการณ์สำหรับตัวควบคุมเฉพาะ เหตุการณ์แผนที่ประกอบด้วยแมโคหนึ่งสำหรับแต่ละเหตุการณ์ ตัวอย่าง การแมปของเหตุการณ์ที่ fires เหตุการณ์ Click หุ้นอาจมีลักษณะดังนี้:

BEGIN_EVENT_MAP (CSampleCtrl, COleControl)
   //{{AFX_EVENT_MAP(CSampleCtrl)
   EVENT_STOCK_CLICK ()
   //}}AFX_EVENT_MAP
END_EVENT_MAP()

แมโคEVENT_STOCK_CLICKบ่งชี้ว่า ตัวควบคุมจะไฟเป็นหุ้นคลิกเหตุการณ์ทุกครั้งที่มีการตรวจพบคลิกเมาส์ สำหรับรายการของเหตุการณ์อื่น ๆ หุ้นรายละเอียดเพิ่มเติม ให้ดูบทความ ตัวควบคุม ActiveX: เหตุการณ์ในVisual c ++ Programmer's Guide นอกจากนี้มีแมโครเพื่อบ่งชี้ถึงเหตุการณ์แบบกำหนดเอง?

แม้ว่าเหตุการณ์แผนที่แมโครที่มีความสำคัญ คุณมักจะไม่แทรกเหล่านั้นโดยตรง นี่เป็น เพราะ ClassWizard จะสร้างเหตุการณ์แผนผังรายการในแฟ้มต้นฉบับของคุณเมื่อคุณใช้การเชื่อมโยงเหตุการณ์เผาฟังก์ชันกับเหตุการณ์ ตลอดเวลาที่คุณต้องการแก้ไข หรือเพิ่มรายการเหตุการณ์แผนที่ คุณสามารถใช้ ClassWizard?

เพื่อรองรับเหตุการณ์แผนที่ MFC มีแมโครการต่อไปนี้:

ประกาศแผนผังของเหตุการณ์และพรมแดน

DECLARE_EVENT_MAP ประกาศว่า แผนที่ที่เหตุการณ์จะใช้ในห้องให้แมปเหตุการณ์เหตุการณ์เผาฟังก์ชัน (ต้องใช้ในการประกาศคลาส)?
BEGIN_EVENT_MAP เริ่มต้นการกำหนดแผนผังของเหตุการณ์การ (ต้องใช้ในการใช้งานคลาส)?
END_EVENT_MAP สิ้นสุดคำจำกัดความของการแมปเหตุการณ์ (ต้องใช้ในการใช้งานคลาส)?

เหตุการณ์การแมปแมโคร

EVENT_CUSTOM บ่งชี้ว่า ฟังก์ชันใดเหตุการณ์เผาจะดำเนินการเหตุการณ์ที่ระบุ?
EVENT_CUSTOM_ID บ่งชี้ว่า ฟังก์ชันใดเหตุการณ์เผาจะดำเนินการเหตุการณ์ที่ระบุ ด้วย ID การสรุปข้อมูลที่กำหนดไว้?

แมโครในการแมปข้อความ

ON_OLEVERB บ่งชี้ว่า คำกริยาแบบกำหนดเองที่จัดการ โดยตัวควบคุม OLE?
ON_STDOLEVERB แทนการแมปกริยามาตรฐานของคอนโทรล OLE?

Index