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

دوخني ال comboBox في ال MFC

مغلق
بدأه ASMSA في 1 سبتمبر 2004 · 16 رد · 1,137 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الرجاء المساعدة على comboBox في ال MFC حاولت اضيف عناصر الى الصندوق بدون جدوى استخدمت التالي :

m_Cmp1.AddString

و:

m_Cmp1.InsertString

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

m_Cmp1.SetCurSel

فيظهر العنصر الذي ادخلت رقمه في الدالة اعلاه فقط .. فرجاء المساعدة على هذا الصندوق العنيد .

#2

http://www.codeproject.com/combobox/combobox_tut.asp

الدرس يشرح كيفية استخدام الاداة

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#3

دائما عندما تدخل قائمة من النصوص

m_Cmp1.AddString

بعد إدخال النصوص

تحدد رقم العنصر الذي ستظهرة الأداة

m_Cmp1.SetCurSel (0);

ولكن ما المشكلة ؟؟؟

هل تريد مثلا إظهار الأداة فارغة وعند النقر على السهم تظهر القائمة التي أدخلتها

لا تستخدم الدالة : m_Cmp1.SetCurSel

وإذا كنت تقصد شيء آخر وضح السؤال

--

http://www.jaascois.com

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

مجموعة مواضيع - إحتراف البرمجة -

ّ~~~~~~~~~~~~~~~~~~~~~~

البرمجة المتقدمة & الهندسة العكسية & برمجة وأمن الأنظمة

/index.php?showtopic=45002

آخر المواضيع :

+- تحليل جرائم الكمبيوتر -+

أنظمة اليونكس(Solaris,HP, AIX,SCO)وانواع المعالجات

ثغرة SMS لأجهزة الجوال Siemens 3568i !

أخطاء وثغرات البرامج العربية !!!

سلسلة مواضيع - أمن وحماية مواقع الويب -

E البرمجة المتقدمة X للملفات التنفيذية E

سلسلة مواضيع ثغرات الأنظمة وإختراق الأجهزة

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

<span style='font-size:14pt;line-height:100%'>الإرادة تحـــقق السيـــادة</span>

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

#4

المشكلة اني كل ما اضفت عناصر باستخدام الاوامر :

m_Cmp1.AddString

و:

m_Cmp1.InsertString

لا يظهر منها شئ بالصندوق ويظهر وكاني لم اضف شيئ فقط امر :

m_Cmp1.SetCurSel

يقوم بإظهار العنصر المحدد فإذا نفذت الأمر أعلاه مثلاً وحددت العنصر الثالث عندها يظهر العنصر الثالث فقط ....

والسؤال إين باقي المجموعة المضافة لماذا لا تظهر كما هي الحال بجميع صناديق الكمبو بوكس في جميع البرامج .

#5

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

كيف يعني ؟

addString تظهر العناصر مباشرة بدون مشاكل أبدا ,,

جربتها قبل قليل أيضا لكي لاأتوهم :)

المهم بعد اضافة القيم الجديدة ,, اضغط على السهم في التحكم Combo Box وستجدها قد ظهرت كلها !!

اذا لم يحدث شيء أرسل المشروع ,, وسنرى فيه هنا ,,

يوم الغد أنا لن أكون موجودا ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#6

السلام عليكم

اعتقد ان الاخوة جاوبو بما فيه الكفاية (وما قصروا كالعادة)

ولكن ان استمرت المشكلة فتفضل هذا البرنامج البسيط عن الComboBox

SDI_1.rar

#7

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

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

وبخصوص موضوع السؤال فاسشرح طريقة إنشائي للبرنامج للعل الخطأ يكمن في الاسلوب الذي أنشأت به البرنامج وهو كالتالي :

1.	choosing (MFC App Wizard) the min dialog at the start .
2.	choosing all default options in wizard except one change in setup 1  to : ( dialog based) .
3.	drop the problem box ( Combo box) to the project .
4.	creating the control variable to handle the basic options of  ( Combo box) .
5.	adding the flowing code to the Command button  code area  :

	m_Cmb1.InsertString(0,"Item 1"); 
	m_Cmb1.InsertString(1,"Item 2");
	m_Cmb1.InsertString(2,"Item 3");

فالسؤال إليس من المفترض ان هذه الخطوات كافية لإضافة الثلاثة عناصر أعلاه وإظهارها كقائمة منسدلة داخل صندوق الكمبو بوكس ؟

تم تعديل هذه المشاركة بواسطة HGB في 4 سبتمبر 2004 في 23:29

#8

نعم ,, مالذي يحدث ؟

وجرب AddString أيضا كالتالي :

m_com1.AddString("ASMSA");
m_com1.AddString("karimosh");

m_com1.AddString("HGB");

ويجب أن تعمل ,, وانت مالذي يظهر لك أصلا ؟ أو لايظهر شيء مطلقا ؟

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#9

جرب هذا بكل سهوله أضيف الكود الآتي إلى آخر سطر بعد ما تضيف النص إلى عنصر combobox

UpdateData(true)
#10

نسيت ";"

UpdateData(true);

#11

السلام عليكم

اشكر الاخوة HGB و v1r05 على ردودهم .. وقد الاضافات المقترحة منهم بدون جدوى

ولتذكير فقط فإن المشكلة هي عدم ظهور اي عنصر بالكمبو بكس .. واطرح هنا الآن بناء على ماسبق افتراضية ان تكون النسخة التي قمت بتنصيب الفيجوال بيسك الإصدار السادس بها ملفات معطوبة ادت إلى أن يكون هذا الصندوق بهذا الشكل .. مع العلم إيضا اني جربت سابقاً اضافة العناصر في وقت التصميم لكن بدون جدوى

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

الجزء الآول:

CBox.part01.exe

#15

كما ذكرت قد جربت الاضافات التي ذكرها مثل UpdateData(true) او UpdateData(false)الاخوة الاعضاء لكن ما زالت المشكلة .. واتمنا من الاخوة الذين اطلعوا على الكود المرفق من قبلي ان يعطونا ملاحظتهم عليه .. ولهم جزيل الشكر والتقدير

#16

البرنامج يعمل 100% لكن عندما تضغط على الزر الفي الكمبو بوكس لا ترى شيء لكن عندما تضغط شفت و السهم المشير للأسفل يمكنك أن ترى ما أضفته و الحل :

عندما ترسم الكمبوبوكس في الفورم من البداية خليه يكون طويل حيث أنك يمكنك أن تتحكم في عرضه فقط بعد رسمه . لا أعلم إذا كان هناك كود يمكنك من التحكم في طوله

post-14-1095231904_thumb.jpg

#17

اشكر الاخوة مرة اخرى على تجاوبهم .. واحب ان اقول لهم اني بحمد الله توصلت لحل المشكلة عن طريق الأمر :

 UpdateData(false)

لكن عند وضعه بحدث :

OnInitDialog

آي عند بدء التشغيل .. لكي يعمل بالمرة الاولى ثم كتابة امر التحديث مرة اخرى بعد اضافة النص .

تم تعديل هذه المشاركة بواسطة ASMSA في 20 سبتمبر 2004 في 09:42

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

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