MESSAGE_HANDLER ( msg, func )
พารามิเตอร์
ข่าวสารเกี่ยวกับ
[ใน] ข้อความ Windows?
func
[ใน] ชื่อของฟังก์ชันตัวจัดการข้อความ?
หมายเหตุ
กำหนดรายการในการแมปข้อความ MESSAGE_HANDLERแผนที่ความ Windows ไปยังฟังก์ชันตัวจัดการที่ระบุ ตัวอย่างเช่น:
คลา CMyClass: ...
{
สาธารณะ:
nbsp ...
BEGIN_MSG_MAP(CMyClass)
MESSAGE_HANDLER (WM_PAINT, OnPaint)
...
END_MSG_MAP()
/ / เมื่อวัตถุ CMyClass ได้รับการ WM_PAINT
/ / ข้อความ ข้อความจะนำไป
/ / CMyClass::OnPaint จริงสำหรับการประมวลผล
LRESULT OnPaint (...)
{ ... }
}(&N)
ต้องกำหนดฟังก์ชันใด ๆ ที่ระบุไว้ในแมโคMESSAGE_HANDLERเป็นดังนี้:
LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOLamp; bHandled)(&A)
ชุดการแมปข้อความ bHandled เป็นจริงก่อน MessageHandler เรียกว่า ถ้า MessageHandler ไม่ได้เต็มที่จัดการข้อความ คุณควรตั้งค่า bHandled เป็นเท็จเพื่อบ่งชี้ถึงความจำเป็นในการประมวลผลต่อไป?
หมายเหตุnbsp เริ่มต้นการแมปข้อความกับBEGIN_MSG_MAPเสมอ จากนั้นคุณสามารถประกาศข้อความอื่นต่อมาแผนที่ด้วยALT_MSG_MAP แมโคEND_MSG_MAPทำเครื่องหมายสิ้นสุดการแมปข้อความ แผนที่ทุกข้อความต้องมีอินสแตนซ์หนึ่งของBEGIN_MSG_MAPและEND_MSG_MAP(&N)?
นอกจากการMESSAGE_HANDLERคุณสามารถใช้COMMAND_HANDLERและNOTIFY_HANDLERเพื่อแมป WM_COMMANDและ WM_NOTIFYความ ตามลำดับ?
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้แผนที่ของข้อความใน ATL ดูแผนที่ของข้อความในบทความ "ATL หน้าต่างชั้น
ATL แมโครและฟังก์ชันที่ส่วนกลาง
ดูเพิ่มเติม