انشاء MDIChild داخل PageControl,, ؟
#1
السلام عليكم ورحمة الله

اخواني الأحباب,

هل هناك من طريقة لعمل MdiChild في قسم من الفورم فقط, او في PageControl على الفورم الأم ؟

للتوضيح,,

عندي فورم الأم وهو فورم 1,,

في الفورم 1 وضعت page controll وعدة TabSheet في هذا ال PageControl

عند الضغط على button 1 الذي هو موجود في الفورم 1 يقوم الدلفي بإنشاء فورم 2 داخل ال pageControl

وعند الضغت مرة اخرى على البوتون 1,, يقوم الدلفي بئنشاء فورم 3 داخل ال pagecontrol

وهاكذا,,

والسلام عليكم ورحمة الله
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد
#2
وعليكم السلام ورحمة الله وبركاته
بصفة عامة، لإنشاء أي مكون (يقبل أن يكون له Parent) بداخل مكون آخر، أعطه في خاصية Parent اسم المكون الذي تريد إنشاءه بداخله (إن كان يقبل Child)، مثال إنشاء TForm2 بداخل TTabSheet:
كود :
procedure TForm1.Button1Click(Sender: TObject); var F2: TForm2; begin F2 := TForm2.Create(Self); F2.Parent := TabSheet1; end;
إذا كنت تريد شيء مثل الموجود في المتصفحات الشهيرة، فمن هنا تجد أمثلة:
Mini Webbrowser by Thomas Stutz
هناك أيضا أمثلة مشابهة في المنتدى:
سورس كود محرر أوامر دلفي.
متصفح مع امكانية فتح عدة صفحات
غير ذلك وضح أكثر، بالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...
الرد
#3
طيب اخي الكريم,

الكود الذي وضعته كان ما ابحث عنه,,

لكن هناك مشكلة,, قد حاولت حلّها ولكن لم افلح لحد الآن,,

مع الكود:
PHP كود :
F2 := TForm2.Create(self); 

يتم انشآء الفورم,, (تظهر على الشآشة سريعا)

وبعدها مع الكود:
PHP كود :
F2.Parent := pageControl1.Pages[0]; 

يتم نقل الفورم الى داخل ال PageControl

ما هي الطريقة حتى لا تظهر الفورم الجديد على الشاشة بعد عمل Create لها,, بل تظهر داخل ال pageControl مبآشرة,,

حاولت مع
PHP كود :
F2 := TForm2.Create(pageControl1); 
فلم تنفع,

وحاولت مع وضع ال Parent قبل عمل كريت
PHP كود :
F2.Parent :=pageControl1;
F2 := TForm2.Create(Self); 
فلم تنفع ايضى,,

هل من حل لهذا بارك الله لكم؟
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد
#4
اخى AL-MOB4RM3G
جرب هدا :

PHP كود :
procedure TForm2.FormCreate(Sender: TObject);
begin
  Left 
:= - Width;
end; 
الرد
#5
جزاك الله خيرا اخي هاني

بالفعل, كيف لم افكر بها,

استخدمت هذه
PHP كود :
Left := - Width - 100; 

جزاكم الله خيرا مرة اخرى,
فرّج همّ المهمومين يا الله
اللهم فك قيد اسرانا و اسرى المسلمين
الرد


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


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