الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ياشباب الحدث Mouse Move

مغلق
بدأه عبدالله عيد في 19 يناير 2003 · 9 رد · 4,965 مشاهدة · في قسم المواضيع الهامة في قسم السي /سي++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبعد

تحية طيبة لرواد هذا المنتدى

وسؤالي هو لدي كلاس مشتق من 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 للزر نفسه وشكراً

اخوكم عبدالله المحمادي

#2

لاتوجد ردود؟؟؟؟؟؟؟:o:o:o:o:o:o:o:o:o:o:o:o:o:o:o:o:mad::mad::mad::mad::mad::mad:!!!!

#3

أخ Eidx00 شوف الكلاس اللي بالوصلة

http://www.softechsoftware.it/cbuttonst.html

وهنا تجد الكثير من البرامج اللي تريدها واللي تعالج أحداث الماوس فوق ال button

http://www.softechsoftware.it/download.html

اقرأ السورس كود لأي برنامج من الوصلة السابقة وستجد ما تريد

عذرا لأنني لم أفيدك ولكن هذه امكانياتي

#4

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

لاتقل لم تفيدني بل لقد وجدت ضالتي والحمد لله ...

وأنا اشكرك من كل أعماق قلبي يا أستاذي العزيز mhammad

واكرر شكري

اخوك عبدالله المحمادي

#5

العفو أخ عبد الله (f)

#6

آسف لتأخري بالرد ..

لكن أمرك غريب ولا أعرف لماذا لم تعمل معك .. أعتقد عندك خطأ في الكود في محل ما ..

أرفقت مع الملف .. كود مشابه لكلاس CMyButton صنعته بشكل كامل عن طريق ال wizzard .. ولم أكتب إلى كود الحدث MouseMove ..

delme.zip

Coding on the Cloud and for the Cloud!

My Blog

#7

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته وبعد

اشكرك يا استاذ هاني على تفضلك بالرد

وشكراً على الملف

اخوك عبدالله المحمادي

#8

بسم الله الرحمن الرحيم

يا أستاذ هاني راجعت الملف الذي ارسلته وانا اشكرك مرة اخرى

فكلامك صحيح كان هناك خطأ في مكان اخر في الشيفرة والخطأ هو

أن لم أضع

DDX_Control(....)

للإزرار

وشكر لك من اعماق القلب لأن جوابك فتح لي كثير من الحلول التي لم اكن اعرفها

اخوك عبدالله عيد المحمادي

#9

ال DDX_Control وظيفتها ربط الكونترول بالمتحول .. وهذه العملية تعني super-class للcontrol .. وأنصحك بتتبع كود ال DDX_Control لتفهم ماذا تفعل بالظبط :)

Coding on the Cloud and for the Cloud!

My Blog

#10

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته وبعد

استاذي العزيز هاني

مما قرأته في الكتب أن DDX_XXX

تتيح تبادل البيانات بين المتغير واداة التحكم كما قلت انت

فماذا تقصد بتتبع كود ال DDX_Control لتفهم ماذا تفعل بالظبط

هل تقصد التتبع من ناحية تبادل البيانات

في حال كانت UpdateData تعيد TRUE او FALSE

اما ماذا تقصد؟؟

اسف على كثرة الأسئلة ولكن احب ان اتعلم الكثر عن هذه اللغة القوية

وانا اشكرك

اخوك عبدالله المحمادي

هذا الموضوع مغلق.

مواضيع مشابهة