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

الرجاء المساعدة في Class Wzardi ؟؟؟؟؟

مغلق
بدأه NOor2006 في 18 أكتوبر 2003 · 5 رد · 918 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عند سؤال أتمني أن أجـــــــــــد الإجابة الشافية في هذا المنتدي

السؤال عن Class Wizard وما هي علاقة الصنف Class مع الكائن Object ID وضبطهما مع Messages وبالتالي إنشاء الوظيفة Add Function ؟؟؟؟؟

ملاحظة :

إلى أعرفه عن Class Wizard هو أنها يقوم بـــــ 1- إضافة متغيرات 2- إضافة إجراء

*************

أتمني الرد والمساعدة ؟؟؟؟

#2

أتمني من لديه اي معلومات عن Class Wizard

يقوم بكتابتها ..... للضرورة ؟؟؟؟

************************

NOor

#3

السلام عليكم,

هو بالفعل ClassWizard يمكنه فعل أشياء كثيرة تسهل البرمجة فهو يمكنه إضافة دوال خاصة ب Messages ويمكن إضافة متغيرات خاصة بأداة ما ويمكن إلحاق قسم ما بنافدة مثلا ,غير دلك.

فلإضافة Message مثلا نستدعي ClassWizard وفي النافدة نختار الخانة Message Maps في أعلى النافدة وفي خانة Class Name تختار القسم الدي تريد أن تزيده الوضيفة . في اليسار في خانة Object IDs تختار الأداة التي سوف تستقبل هده الوضيفة ومن بعد ما عليك إلا أن تختار Message الدي تريد للأداة معالجته في خانة Messaages . حين تختار Message الدي تريد انقر عليه مرتين أو انقر Add Function و ClassWizard سيقترح عليك اسم للدالة التي ستقوم بالأمر .يمكنك قبول هدا أو تغيير اسمها وبعد هدا ستندرج الدالة أوتوماتيكيا في القسم الخاص بها فما عليك من بعد إلا أن تزيد الكود الدي تريده في هده الدالة.

ويمكن اتباع نفس الطريقة تقريبا لإضافة متغيرات خاصة بلأدوات اللي عندك أو زيادة قسم ما مثلا .

هدا بإيجاز وأتمنى أن يكون شيئا ما واضح.وإدا كان هناك أي استفسار أو تريد شيء ما بالخصوص فسوف أكون رهن الإشارة إن شاء الله.

#4

ماذا كان قبل MFC

اذا كنت من من استخدموا Win32 لن تسال هذا السؤال

"هذه ليست دعوة الى الذهاب و المشقة مع Win32"

..........ساحكى لك قصة........

عندما كانت لغة c تستخدم لبرمجة Windows كانت تبدا كما هى لل dos

فىالدوس كنا نكتب main

اتى زمن ال Windows و صرنا نكتب WinMain

يبدا البرنامج او التطبيق مع هذه الدالة او الطريقة

كان المبرمجين الذين يعملون على Win32

يكتبون اكثر من 15 سطر حتى يتمكنون من اظهار نافذة

...........................

عندما تريد ان تعمل نافذة كان عليك ان تعين دالة معينة حتى

تنادى هذه الدالة اذا كانت هناك اى رسائل الى النافذة

هذه الدالة تسمى callback function و اعتقد ان الاسم واضح

مع تغيير المعاملات التى تمر الى هذه الدالة يمكن معرفة ما الذى يحدث

مع هذه النافذة بالضبط.

..........................................

كانت هناك حلقة تظل تكرر نفسها حتى ان ترسل رسالة اغلاق الى هذه

النافذة و اثناء هذا التكرار كانت تبحث عن اى رسائل موجهة الى النافذة

و تترجم هذه الرسالة و ترسلها الى النافذة

..............................................

الان عليك ان تحمد الله و انت تستخدم MFC

التى تخفى عنك هذه الدوارة و تكتفى ان ترسل لك هذه الرسالة من

غير ان تورط نفسك فى هذه الدوارة

ملاحظة/: النافذة هى كل الادوات Controls التى يكم ان تستخدمها

MFC: مازالت تستخدم الدوال القديمة نفسها و لكنها تخفى التفاصيل

...................

الموضوع شيق لكنى بطئ فى الطباعة بالعربية

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟و الله اعلم?????????????????????؟؟؟؟؟؟؟؟؟؟؟

#5

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

شكراً لك أخي (( chik )) على المعلومات القيمة

وأضيف عليها هذه المعلومات للفائدة :

1- اضافة اجراء .

2- اضافة متغيرات .

3-إلحاق متغيرات وربطها بالتحكمات .

خطوات اضافة الاجراء :

من قائمة View حدد Class Wizard سيقوم Visual C++ بعرض إطار MFC Class Wizard سيظهر لدينا أكثر من لائحة لقوم بأختيار Message Maps وبعد تحديد أسم المشروع (( project )) وأسم الصنف (( Class name )) المسئوول في الواجهة المراد إضافة متغيرات للتحكمات الموجودة عليه ثم نقوم بتحديد اسم التحكم (( Object Ids )) المراد تعريف المتغير لهو (((((( أختيار الحدث المراد ))))) ......

من لائحة Messages : -

يوجد نوعان من الاحداث 1-BN_CLICKED 2- BN_DOUBLECLICKE

نقوم بأختيار BN_CLICKED ثم نقوم بنقر على زر إضافة الوظيفة (( Add Function )) يقترح علينا Class Wizard اسم الوظيفة نقوم بضغط على زر OK هنا يقوم Class Wizard باضافة الوظيفة للبرنامج ...

ثم نقوم باضافة البرمجة داخل الوظيفة من خلال الضغط على زر تعديل الكود

(( Edit Code )) من لائحة Class Wizard يقوم Class Wizard بفتح ملف

(( HelloDlg.cpp )) مع الوظيفة التي قمنا بختيارها .....

نقوم بإضافة البرمجة إلي الوظيفة .

يقوم Class Wizard أيضاً بـــــ إلحاق متغيرات وربطها بالتحكمات

نقوم بتحديد أسماء المتغيرات .

من قائمة View أختر Class Wizard أختر من قائمة Member Variable

نقوم بأختيار أحدى التحمات المراد إلحاق متغير إليه ثم نقوم بضغط زر إضافة متغير من (( Add Variable )) حدد أسم المتغير ونوعة ...

إضافة وظائف التحكم :

من قائمة Class Wizard MFC أنقر عند Message Maps حدد

Class name ب مثلاً CNADlg ثم Object Ids بــــ مثلاً CNADlg

اختر الرسالة WM_INITDIALOG من لائحة الرسائل Messages

أنقر عند تعديل الكود Edit Code لإظهار برنامج OnInitDialog

بعد علامة TODO نقوم بإضافة الكود ..

1 – تقوم الوظيفة : UpdateData FALSE بإمرار المعطيات من المتغيرات

إلى تحمكمات الشاشة .

2 – تقوم الوظيفة : UpdateData TRUE بإمرار المعطيات من تحكمات الشاشة .

ملاحظة : عند قراءة قيمة المتغيرات علينا استدعاء الدالة UpdateData

مع القيمة TRUE قبل قراءة أي متغيرات ..

*************************************

أختكم في الله : NOor

#6

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

شكراً لك أخي : (( justnow ))

على المشاركة الممتعة ولقد أستفت من ردك على الموضوع الشيق وأضفت معلومات

لم أكن أعرفها من قبل ..... شكــــــــــــراً

*********************

أختكم في الله :

NOor

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

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