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

كيف اظهر نص في Edit Box

مغلق
بدأه Uae_coder في 4 مايو 2006 · 5 رد · 586 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الـسلامـ عليكمـ

السؤال هو كـيف مثـلا اضغط على زر ويظهر نص في ال Edit Box

وطبعا عن طريق ال MFC_Dialog Based

#2

في الـ MFC يوجد عملية برمجية لهذا الأمر ، ويجب أن تعلم أن ما تكتبه في صندوق التحرير EditBox والذي يسمى في فيحيوال بيسيك تكست بوكس ما تكتبه فيه لا يوضع في متغيلا الا ان تقوم انت بوضعه برمجيا..

أولا وأنت في الديالوج إختر التالي:

View ---->ClassWizard

من النافذة اذهب الى المجموعة Member Variables

سترى قائمة بالأدوات الموجودة عندك على الديالوج.. إختر الآداة الخاصة بالنص (عادة اسمها IDC_EDIT1 ) دبل كليك عليها .. أكتب اسم المتغير الذي سيحتوي على النص.. اي إسم يخطر ببالك (طبعا صالح لأن يكون اسم متغير.)

هنا لديك آداة تحتوي على نص ولديك متغير معد لتلقي هذا النص.. هناك علاقة متبادل بينهما.. يمكنك أن تضع نص في المتغير وتجعل الصندوق يحمل هذا النص، ويمكنك وضع نص في الصندوق وجعل المتغير يحمل هذا النص ... كيف؟؟؟

لنفرض أنك اسميت المتغير m_text حسن

1- لجعل الـ m_text يأخذ المكتوب في صندوق النص قم بالتالي:

	UpdateData(TRUE);

هذا معناه تمرير النص من تكست بوكس الى المتغير.

2- ولتمرير قيمة من المتغير الى تكست بوكس تقوم بالتالي:

	UpdateData(FALSE);

لنفرض أنك قمت بالخطوة 1 . سيحمل المتغير m_text كل فحوى التكست بوكس ... لعرضه في مسج بوكس قم بالتالي

MessageBox(m_text);

اي سؤال عن شرحي - تفضل.

ملاحظة : هذه العملية التي قمت بها مبسطة... لمعرفة واستخدمت فيها ClassWizard ليكتب بعض الكود ... لمعرفة هذا الكود يمكنك متابعة الشرح ,,

لقد أضاف الـClassWizard الأكواد التالية :

في فئة الديالوج قام بإضافة المتغير الذي اخترت انت اسمه كالتالي:

....
CString m_text;// هذا متغير سلسلة نصية سيحتوي على القيم النصية 
....

في دالة

;() DoDataExchange

قام بربط الآداة بالمتغير

DDX_Text(pDX,IDC_EDIT1,m_text);

هذا السطر مكتوب داخل الدالة ;() DoDataExchange والتي تعمل عند مناداتها تعمل على تحديث البيانات بين الآداة والمتغير الخاص بها، بواسطة الدالة DDX وهي دالة لها عدة أشكال أحدها المذكور هنا DDX_Text للتعامل مع صندوق النص.

هناك "أخوة" لهذه الدالة وهم DDX_Radio DDX_Check من اسمائها نعرف لأي نوع من الادوات تعمل.

مررنا للدالة ثلاث برامترات - اثنان واضحان وواحد غريب هذا pDX ما هو : هو مؤشر لكائن من نوع DataExchange وهو يحتوي معلومات منها - ما يهمنا - اتجاه التحديث (من المتغير الى الصندوق أم العكس.) وهذا المؤشر يتم تمريره أصلا الى الدالة

;() DoDataExchange

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 4 مايو 2006 في 22:07

#3

بعد أن أقوم بإجابة طويلة عريضة ، يختفي العضو ولا يقول اي شيء، طيب كيف اعرف انّي ساعدته ولا كلامي ضاع في الهوى....

اقل شيء يا Uae_coder قول كلمة.. أو حرف يدل على انني لم اتعب هباءً

#4

حتي لو كلامك ضاع معاه فهو لم يضع معنا

جزاكم الله خيرا

#5

شكرا يا إسماعيل , جزاك الله خيرا :)

#6

العفو...

أنا لم أقل هذا الكلام حبّاً في رؤية كلمات الشكر تتهافت,,

لكن أحيانا (وهذا ما حدث) تكون مشغولا فيسأل أحدهم سؤال... إن لم تجب تبدأ الملامة على المنتدى وقاطنيه .. وكأننا لا نساعد..

لهذا ينتزع احدنا نفسه من مشاغله ليجيب عن سؤال. وبعدها لا يرى السائل، ولا يعرف إن كان فهم ام لا ، قرأ الرد أصلا أم لا!! فأشعر "بالندم" على قطعي اشغالي لأجيبه ، وهو ربما نسي السؤال.

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

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