PDA

View Full Version : ظاهر شدن MDIChild در قسمتی خاص از MDIForm



saied7468
چهارشنبه 23 بهمن 1387, 01:23 صبح
سلام
من یه 15 فرم دارم . فرم اولی MDIForm هست و بقیه فرم ها موقع صدا زدنشون خاصیت FormStyle رو به fsMDIChild تغییر می دم تا بتونم ببندمشون( موقع زدن دکمه close به جای مینی مایز شدن فرم بسته می شه ). اولین بار که یکی از MDIChild رو صدا می زنم در جای درستش ظاهر می شه ولی دفعات بعد که فرم رو صدا می زنم به جای ظاهر شدن در قسمت چپ صفحه ( همون جای درستش ) هی پیش روی می کنه و می یاد جلو حالا چیکار کنم که دفعات بد به جای جلو امدن در جای اولش ظاهرشه!!؟

کد مربوط به ظاهر کردن فرم MDIChild :


Form2 := TForm2.Create(Application);
form2.FormStyle:=fsMDIChild;


کدی که در قسمت close فرم MDIChild نوشتم:


Action := caFree;

saied7468
چهارشنبه 23 بهمن 1387, 10:47 صبح
این سورس رو که ضمیمه کردم همون مشکل بالا رو که گفتم داره.

سورس رو اجرا کنید روی گزینه فرم 2 یا فرم 3 کلیک کنید تا فرم ظاهر شود بعد فرم رو ببندید و 2 یا 3 بار که اینکار رو انجام بدید متوجه مشکلی که گفتم می شید.
اگه از دوستان کسی راه حلی چیزی به نظرش می رسه لطفا بگه کارم گیر همین یه مشکله.


saied7468
چهارشنبه 23 بهمن 1387, 20:19 عصر
از اساتید کسی نمی دونه باید چیکار کنم ؟

جواد ملاولی
چهارشنبه 23 بهمن 1387, 20:39 عصر
سلام دوست عزیز. با پروسیجر Cascade کارت حل میشه. یعنی کدت اینجوری میشه:

procedure TForm1.N21Click(Sender: TObject);
begin
Form2 := TForm2.Create(Application);
form2.FormStyle:=fsMDIChild;
Cascade;
end;