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

ما هو الGetDlgItem و كيف أستخدمه؟

مغلق
بدأه eias في 7 أكتوبر 2005 · 7 رد · 767 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

الحقيقة رأيت هذا الكود في كتاب اخونا عقيل يوسف وهو :

GetDlgItem (IDC_CHECK1)->ShowWindow(SW_HIDE);

أريد أن أعلم عمل هذه الGetDlgItem هل لها علاقة بالأدوات...و يكف أستطيع تطويعها و الاستفادة منها ..

و ما هو السر الكامن وراء هذا الرمز

->

ما عمله رأيته كثيرا ... :lol:

وشكرا لكم.

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 7 أكتوبر 2005 في 15:38

#3

السلام عليكم

أولا شكرا ليك وهذا من ذوقك ان كتابي عجبك

عزيزي

GetDlgItem (IDC_CHECK1)->ShowWindow(SW_HIDE);

الداله هذة

GetDlgItem تقوم بتحديد العنصر المعرف بين قوسين وهو (IDC_CHECK1) ليتعامل معه فقط

اما العلامة -> فهي تساوي = ولكن هنا للإشارة لنوع الدالة هل هي ShowWindow او Enable

وهذا كل اللي اعرفه ......... باي :lol:

#4

العلامة <- تستخدم للاشارة الى عنصر من الكائن .. بالظبط مثل النقطة "." و لكن الفرقانها تستخدم اذا كان الاسم اللذي قبلها هو "مؤشر" للكائن, اي pointer.

مثلا لنفرض انه عندنا كلاس اسمه Car معرف في مكان ما .. لانشاء كائن من هذا الكلاس في السي بلص بلص هناك طريقتان, يمكن ان نقول بشيء من التجاوز أنك إما ان تنشئه على الـ stack و بذلك يكون مثل اي متغير عادي داخل الدالة اللتي إنشئ فيها, اي انه يختفي بمجرد الانتهاء من الدالة تلك.

او تنشئه على الـ heap و تحصل على مؤشر له, و بذلك يبقى في الذاكرة حتى بعد انتهاء الدالة اللتي قامت بإنشائه.

قلت "بشئ من التجاوز" لان هذا الكلام ليس صحيح و شامل مئة بالمئة .. لكنه يغطي المعنى المقصود.

Car car; //on the stack
car.openDoor();
car.setDriver( player );
car.go();


....
....

Car * car2 = new Car(); //on the heap
car2->openDoor(); //we have to use -> becase 'car2' is a pointer
car2->setDriver( player );
car->go();

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

#5

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

أخي الكريم SoNaTa شكرا لك يا رجل كيف تستطيعون الدخلو إلى كل هذه التشعبات في MSDN ^.^

أخي الكريمdark2x3d تستطيع تقول أن السطرين الذين كتبتهم نقلوني لمستوى آخر في عالم ++C لا أعرف كيف أشكرك..

أخي الكريم hasan_aljudy أولا شكرا على تعديل الكود ^.^

الحقيقة كلامك كان مبهم بالنسبة لي كمبتدأ..أولا ما هو الClass هل هو كما في vb أي تقريبا دالة تقوم أنت بإنشائها ..

ما هو ال stack هذا

ما هو الheap

أنا فهمت من كلامك أنه إما أن نستعمل . أو <- ولكن ما الفرق بين Stackو Heap لم أعرف جيدا..

وشكرا لكم.

#6

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

ما اعرف شدخلني في شغلة الستاك و البطيخ .. موضوع شوية متقدم (مو كلش .. هو بسيط .. بس ما في داعي تدوخ نفسك في مواضيع فرعية)

اما الكلاس .. فأنا اصلا لا اعرف ما هو الكلاس في الفجول بيسك .. و لكني اعتقد انه نفس مفهوم الكلاس في السي بلص بلص و الجافا و السي شارب.

#8

هههه .. لا لا .. بالعكس .. مش مسألة غضب .. و لو كنت غاضب لكنت غاضب من نفسي لأني تطرقت الى مواضيع stack و heap مع انها لا علاقة لها بالسؤال.

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

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