المساعدة - البحث - قائمة الأعضاء - التقويم
نسخة كاملة: ياشباب الحدث Mouse Move
برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة > منتديات لغات البرمجة العام > منتدى مبرمجي C و ++C و C++.NET > أرشيف منتدى قسم السي ++
Eidx00
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبعد
تحية طيبة لرواد هذا المنتدى
وسؤالي هو لدي كلاس مشتق من CButton وقد طورت هذا الكلاس حيث يقوم بتغيير لون الزر وحدوده وامكانية وضع صور عليه والكثير بحمد الله تعالى...
ولكن لدي مشكلة وهي
قمت في هذا الكلاس بالتعامل مع الحالات الأربع الشهيرة للزر وهي
1_ Down
2_Up
3_Focus
4_Disable

وقد عمل الكلاس على الوجه المطلوب وقام بتنفيذ كل مااريده منه والحمد لله
وأتيت في هذه الفترة لأقوم بتطوير هذا الكلاس ايضاً فحاولت ان اضع له حدث Mouse Move ولكني فشلت في وضع الحدث مع العلم ان قمت بما يلي في الكلاس :

[php]DECLARE_MESSAGE_MAP()[/php]

ثم وضعت prototype للحدث بالشكل التالي :

[php]afx_msg void OnMouseMove(UINT nFlags,CPoint);[/php]

ثم ذهبت إلى ملف cpp وكتبت التالي بعد دوال البناء

[php]BEGIN_MESSAGE_MAP(CButton,XXXX)

ON_WM_MOUSEMOVE()

END_MESSAGE_MAP()[/php]
وبعد ذلك كتبت الدالة بالشكل التالي
[php]
void XXXX::OnMouseMove(UINT nFlags,CPoint point)
{
//command....

CButton::OnMouseMove(nFlags,point)
}[/php]
مع العلم ان الكود يعمل مئة بالمئة وان وجدت اخطاء في كتابتي للكود هنا ربما من العجلة
ولكن الأوامر التي وضعتها في الحدث Mouse Move لم تنفذ فماهي المشكلة ياشباب كيف انفذ الحدث Mouse Move للزر نفسه وشكراً
اخوكم عبدالله المحمادي
Eidx00
لاتوجد ردود؟؟؟؟؟؟؟omg_smile.gif:o:o:o:o:o:o:o:o:o:o:o:o:o:o:o:mad::mad::mad::mad::mad::mad:!!!!
mhammad
أخ Eidx00 شوف الكلاس اللي بالوصلة
http://www.softechsoftware.it/cbuttonst.html
وهنا تجد الكثير من البرامج اللي تريدها واللي تعالج أحداث الماوس فوق ال button
http://www.softechsoftware.it/download.html
اقرأ السورس كود لأي برنامج من الوصلة السابقة وستجد ما تريد
عذرا لأنني لم أفيدك ولكن هذه امكانياتي
Eidx00
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
لاتقل لم تفيدني بل لقد وجدت ضالتي والحمد لله ...
وأنا اشكرك من كل أعماق قلبي يا أستاذي العزيز mhammad
واكرر شكري
اخوك عبدالله المحمادي
mhammad
العفو أخ عبد الله (f)
هاني الأتاسي
آسف لتأخري بالرد ..

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

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

فكلامك صحيح كان هناك خطأ في مكان اخر في الشيفرة والخطأ هو
أن لم أضع
[php]DDX_Control(....)[/php]للإزرار
وشكر لك من اعماق القلب لأن جوابك فتح لي كثير من الحلول التي لم اكن اعرفها
اخوك عبدالله عيد المحمادي
هاني الأتاسي
ال DDX_Control وظيفتها ربط الكونترول بالمتحول .. وهذه العملية تعني super-class للcontrol .. وأنصحك بتتبع كود ال DDX_Control لتفهم ماذا تفعل بالظبط regular_smile.gif
Eidx00
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته وبعد
استاذي العزيز هاني
مما قرأته في الكتب أن DDX_XXX
تتيح تبادل البيانات بين المتغير واداة التحكم كما قلت انت
فماذا تقصد بتتبع كود ال DDX_Control لتفهم ماذا تفعل بالظبط
هل تقصد التتبع من ناحية تبادل البيانات
في حال كانت UpdateData تعيد TRUE او FALSE
اما ماذا تقصد؟؟
اسف على كثرة الأسئلة ولكن احب ان اتعلم الكثر عن هذه اللغة القوية
وانا اشكرك
اخوك عبدالله المحمادي
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء إضغط هنا.
Invision Power Board © 2001-2009 Invision Power Services, Inc.