بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبعد
تحية طيبة لرواد هذا المنتدى
وسؤالي هو لدي كلاس مشتق من CButton وقد طورت هذا الكلاس حيث يقوم بتغيير لون الزر وحدوده وامكانية وضع صور عليه والكثير بحمد الله تعالى...
ولكن لدي مشكلة وهي
قمت في هذا الكلاس بالتعامل مع الحالات الأربع الشهيرة للزر وهي
1_ Down
2_Up
3_Focus
4_Disable
وقد عمل الكلاس على الوجه المطلوب وقام بتنفيذ كل مااريده منه والحمد لله
وأتيت في هذه الفترة لأقوم بتطوير هذا الكلاس ايضاً فحاولت ان اضع له حدث Mouse Move ولكني فشلت في وضع الحدث مع العلم ان قمت بما يلي في الكلاس :
DECLARE_MESSAGE_MAP()
ثم وضعت prototype للحدث بالشكل التالي :
afx_msg void OnMouseMove(UINT nFlags,CPoint);
ثم ذهبت إلى ملف cpp وكتبت التالي بعد دوال البناء
BEGIN_MESSAGE_MAP(CButton,XXXX) ON_WM_MOUSEMOVE() END_MESSAGE_MAP()
وبعد ذلك كتبت الدالة بالشكل التالي
void XXXX::OnMouseMove(UINT nFlags,CPoint point)
{
//command....
CButton::OnMouseMove(nFlags,point)
}مع العلم ان الكود يعمل مئة بالمئة وان وجدت اخطاء في كتابتي للكود هنا ربما من العجلة
ولكن الأوامر التي وضعتها في الحدث Mouse Move لم تنفذ فماهي المشكلة ياشباب كيف انفذ الحدث Mouse Move للزر نفسه وشكراً
اخوكم عبدالله المحمادي