दोनों भागों को कक्षा में एक संदेश हैंडलर जोड़ने की आवश्यकता है। किसी भी संदेश हैंडलर फ़ंक्शंस (उदाहरण के लिए, OnSize
) के लिए घोषणाओं के साथ संदेश मानचित्र को आपकी कक्षा के अंदर घोषित किया जाना चाहिए।
class CClassWnd : public CBaseClassWnd {
...
afx_msg void OnSize(UINT nType, int cx, int cy);
DECLARE_MESSAGE_MAP
};
afx_msg
सिर्फ एक खाली प्लेसहोल्डर मैक्रो है - यह वास्तव में कुछ भी नहीं है, लेकिन हमेशा सम्मेलन से शामिल किया गया है।
संदेश नक्शा तो वर्ग के .cpp फ़ाइल में परिभाषित किया गया है:
BEGIN_MESSAGE_MAP(CClassWnd, CBaseClassWnd)
ON_WM_SIZE()
END_MESSAGE_MAP()
ये मैक्रो वर्ग जो खिड़की द्वारा प्राप्त संदेशों इसी हैंडलर कार्यों के लिए भेजा जा करने के लिए अनुमति देता है के लिए एक लुकअप तालिका उत्पन्न करते हैं। ON_WM_SIZE
मैक्रो और lParam
संदेश पैरामीटर WM_SIZE
संदेश संदेश संदेश हैंडलर फ़ंक्शन (nType
, cx
, और cy
इस मामले में) के लिए अधिक सार्थक मानों में डीकोड करने की अनुमति देता है। एमएफसी अधिकांश विंडो संदेशों के लिए मैक्रोज़ प्रदान करता है (WM_LBUTTONDOWN
, WM_DESTROY
, आदि)।
आप एमएसएफएन पर एमएफसी here में संदेश मानचित्र कैसे काम करते हैं, इस बारे में अधिक जानकारी प्राप्त कर सकते हैं।
यह जानकर अच्छा लगा कि कुछ समय के लिए मैंने कुछ सोचा है। शायद मेरे हाथों में बस इतना समय है ...;) –