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

كيف تصنع قائمة منبثقة في ++VC (شرح)

مغلق
بدأه إسماعيل ابراهيم في 23 يوليو 2002 · 3 رد · 405 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

---

ان بناء قائمة منسدلة عادية هي أمر بسيط لمرمجي فيجيوال سي++ , حيث معظم المبرمجين يبدأوا من البرنامج الهيكلي الذي يبنيه معالج تطبيقات MFC .. لكن ماذا عن طريقة إنشاء قائمة منبثقة ؟؟؟

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

1) قم بإنشاء مشروع جديد من نوع MFC App : قم بتشغيل بيئة التطوير الخاصة بفيجيوال سي++ ثم إختر New ومن صندوق الحوار الذي يخرج إختر( MFC AppWizard(exe ثم إضغط إنتر وفي الخطوة الاولى حدد single document ثم إختر Finish ...

هذه الخطوة لا علاقة لها بالقوائم لكن لكيقية إنشاء مشروع جديد .... شغل المشروع إذا أردت أن ترى كيف يعمل..

2) الان إدخل الى المشروع قائمة جديدة .. وذلك كالتالي : من Insert إختر الامر Recource من صندوق الحوار إختر Menu. - ستخرج قائمة فارغة .. عبئ البند الاول بأي إسم.. الان ستنسدل من هذا البند قائمة .. عبئها بما تشاء..طريقة تعبئة القائمة هي بالضغط بالماوس على المساحة الفارغة وكتابة ما تشاء لا يهمنا الان ما هي الاوامر التي ستكتبها في هذه القائمة؟ لكن بعد تعبئة القائمة إضغط بزر الماوس الايمن على المسافة الفارغة البعيدة عن القائمة واختر الخصائص في الصندوق الذي خرج هناك ID تذكر هذا الـ ID ... وهو غالبا IDR_MENU1.

3) الان سنضيف فئة لمعالجة الرسالة WM_CONTEXMENU ... لا تخف هذا بسيط.. في القائمة على الجهة اليسرى حيث توجد ملفات مشروعك .. إختر اللسان Class لكي تستعرض المشروع حسب الفئات .. إضغط بزر الماوس الايمن على فئة العرض فئة العرض هي الفئة التي إسمها يبدأ ب C وينتهي بـ View ....بعد أن تضغط بزر الماوس الايمن على هذه الفئة إختر من القائمة الخيار: Add Windows Message handler... تخرج لك قائمة إختر الرسالة المراد معالجتها وهي:WM_CONTEXMENU ..إضغط عليها دابل كليك .. سوف تنتقل الى المربع على اليمين .. إضغط OK..

4)الان هل تذكر فئة العرض التي إخترناها قبل قليل .. هناك في اليسار حيث تبدأ ب C وتنتهي بView إضغط على ال + الذي بجوارها .. الان سترى كل الدوال الموجودة في هذه الفئة.. هناك دالله أضيفت جراء الخطوة 3 .. هل تعرفها ؟ نعم هي OnContextMenu إضغط عليها دابل كليك لتحرير الكود .. الان في صندوق الكود تم عرض كود هذه الدالة ..... حرر هذا الكود ليصبح بالشكل التالي:

PHP:--------------------------------------------------------------------------------

void CSdaView::OnContextMenu(CWnd* pWnd, CPoint point)

{

CMenu menu;

menu.LoadMenu(IDR_MENU1);

menu.GetSubMenu(0)-> TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);

}

--------------------------------------------------------------------------------

شغل البرنامج . وبإذن الله سوف تنبثق هذه القائمة عند الضغط على زر الماوس الايمن.

#2

شكراً أخي اسماعيل

بس الي اقول

اذا بغينا نسوي مشروع بلفجوال سي++ كيفه نبتدي؟؟

يعني أنا ما جربت الي قلت عليه أنت بس جربت ما قاله الاستاذ هاني ... ولا عرف تاله :o :D

وكود وين نحطه ..؟؟:D

وشكراً

If you think yourself that you are nobody, you should go somewhere to find yourself

#3

نفّذ الخطوة رقم 1 :)

..

يمكنك إنشاء مشروع هيكلي مبني على MFC : مشروع هيكلي يعني مشروع يعمل لكنه فارغ , يعرض لك إما ديالوج بوكس وأنت تبدأ من عنده وتكمل برنامجك .. أو ينشيء برنامج مستند/عرض .. وانت عليك أن تكمل برمجته لتحصل على البرنامج الذي تفكر فيه ..

هذه الطريقة التي أستعملها , أما إنشاؤء مشروع من الصفر بكتابة الكود يدويا فهذا أيضا ممكن .. لكني لا أفضله.

#4

شكراً أخي اسماعيل

If you think yourself that you are nobody, you should go somewhere to find yourself

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

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