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

الحدث OnKeyDown

مغلق
بدأه Saad في 5 أغسطس 2001 · 3 رد · 374 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ..

انا مبتدئ في استخدام Visual C++ , مشكلتي الأن انني عندما اضغط زر من لوحة المفاتيح حتى ينفذ عملية اظهار رسالة MessageBox في الحدث WM_KeyDown الخاص بالواجهة في الفئة OnKeyDown, فانه لا شئ يحدث لماذا لست ادري بالرغم اني نفذت ما في الكتاب الذي ادرس منه خطوة بخطوة و مرت اسبوع من المحاولات دون جدوى.

رجاءا المساعدة و شكرا .

Saad

#2

أخي ٍسعد،

يفضل أن تضيف الحدث باستخدام ال Class Wizard . ويجب أن تتأكد أنه يوجد السطر ON_WM_KEYDOWN داخل ال Message Map ..

يوجد العديد من الأمور أيضا تمنع وصول الرسالة إلى ال Dialog وهي مثلا إذا وضعت أي أداة فإنها تأخذ التركيز وتصبح رسائل الكيبورد ذاهبة إليها ، فيوجد طرق أخرى لحل هذا الأمر ..

يمكنك أن تزيل الملقات الغير ضرورية وترسلي المشروع على الemail :

atassi@arabteam.nicmatic.com

حتى أرى ماهي مشكلتك بالتحديد ... :)

Coding on the Cloud and for the Cloud!

My Blog

#3

أخي كما توقعت ...

إن رسائل ال Input Messages مثل ال WM_KEYXXXX و WM_CHAR .. لا ترسل إلا إلى النوافذ التي عليها التركيز أو الFocus فأنت في برنامج Dialog يحتوي على ال Dialog على static text و على زرين .. فمن وين حيجي التركيز على خلفية ال Dialog ..

طبعا برنامجك يعمل إذا حذفت كل شي من على ال Dialog بمافيهم الزرين ..

أعتقد أنو كتابك إما أنو لا يريد شيئ على الDialog أو أنه يريدك أن تعملها في تطبيق SDI أو MDI بحيث تضع الكود في كلاس موروث من CView .. أو غيره ...

الحل للمشكلة تبعك يتم باستخدام PreTranslateMessage وانظر الكود الذي بعتلك اياه وراجع الوصلة :

http://arabteam.nicmatic.com/vb/showthread...3?threadid=2193

حيث يوجد شخص مشكلته مثل مشكلتك ..

ومية السلامة :):)

Coding on the Cloud and for the Cloud!

My Blog

#4

شكرا جزييييييييييييييييييييلا اخي هاني.

Saad

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

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