تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طريقة لإنشائ MDIChild
#1
السلام عليكم


نعلم أنه هناك مشكل في إنشاء MDIChild في لازاروس لكني من خلال بحث في اليوتيوب وجدت طريقة لإنشاء MDIChild سوف أحاول أن أشرحها و بتصرف مني
فتح مشروع جديد Application و إضافة إليه Form2 ليكن عندنا نموذجين بحيث نضيف في Unit1 تحت كلمة implementation ما يلي
كود :
uses Unit2 ;


نضيف لل Form2 أداة Edit1 وأداة Button1 ونغير خصائص النمودج Form2 كما يلي


BorderStyle = bsNone
Caption =''
وفي حدث Create للـ Form2 نكتب هذا الكود

كود :
Top :=0;
Left :=0;
وفي الحدث Show لل Form2 نكتب الكود التالي


كود :
Edit1.Text := Form2.Name;
أما بالنسبة لـButton1 نغير الخاصية Caption إلى إغلاق وفي حدث Click نكتب
كود :
Form2.Close ;
أما في النمودج الأول نضع أداة MainMenu1 وننشأ القائمة MenuItem1 ونغير الخاصية Caption للقائمة MenuItem1 إلى إظهارالنمودج وفي حدث Click للقائمة MenuItem1 نكتب كما يلي


كود :
Form2:=TForm2.Create(Self);
Form1.InsertControl(Form2);
Form2.show;


لو ننفذ البرنامج و نضغط على MenuItem1 يظهر نمودج بإسم Form2_1 على شكل­ MDIChild لكن هناك مشكلة وهي كلما ضغطنا على MenuItem1 يظهر نودج أخرة Form2_n ولإقاف ذلك ولنجعل البرنامج يعمل مع نمودج واحدة نغير الكود في Click للقائمة MenuItem1 كما يلي

كود :
if Trim(Form2. Caption) = '' then
Begin
Form2:=TForm2.Create(Self);
Form1.InsertControl(Form2);
End;
Form2.show;
وفي الحدث Show لل Form2 نكتب الكود التالي

كود :
Edit1.Text := Form2.Name;
Form2. Caption := 'إسم النمودج' ;
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم