View Full Version : مشکل در استفاده از Parent لطفا کمک کنید
AbiriAmir
سه شنبه 17 شهریور 1388, 19:21 عصر
سلام
سوالم رو خلاصه میگم
من وقتی میخوام فرمم رو داخل یه فرم دیگه باز کنم و از Parent استفاده میکنم دیگه داخل Edit های فرم داخلی نمیتونم چیزی انتخاب کنم و خلاصه مشکل پیش میاد
لطفا اگه راه حل مناسبی دارین بگین تا من هم یاد بگیرم
فوریه
tdkhakpur
سه شنبه 17 شهریور 1388, 19:34 عصر
کد و پیغام را ارسال کنید..........
AbiriAmir
سه شنبه 17 شهریور 1388, 19:40 عصر
گفتم که
ارور نمیده
فقط شبیه اینه که Enable فرم داخلی false هست
البته روی دکمه هاش میشه کلیک کرد ولی تو edit هاش نمیشه چیزی وارد کرد
form2.show;
form2.parent := self;
majid_ramak
سه شنبه 17 شهریور 1388, 20:41 عصر
خاصیت FormStyle فرمی که میخوای نمایش بدی رو fsMDIChild بذار و خاصیت FormStyle فرمی که میخوای Parent باشه رو روی fsMDIForm قرار بده با این کار مشکلت حل میشه دوست عزیز
فقط این کد رو دیگه لازم نداری بنویسی:
Form2.Parent := Self;
AbiriAmir
چهارشنبه 18 شهریور 1388, 14:17 عصر
ممنون ولی در هنگام Create کردن فرم داخلی (همون فرمی که fsMDIChild هست) ارور زیر رو میده:
http://barnamenevis.org/forum/attachment.php?attachmentid=36629&stc=1&d=1252491405
AbiriAmir
چهارشنبه 18 شهریور 1388, 17:54 عصر
آهان
حالا تست کردم و دلیلش رو متوجه شدم ولی . . .
راه حلی براش پیدا نکردم
مشکلش MainForm هست
یعنی اون فرم MDIForm حتما باید MainForm باشه تا ارور نده
ولی تو برنامه من اون فرمه MainForm نیست
چیکار کنم؟
majid_ramak
چهارشنبه 18 شهریور 1388, 20:11 عصر
آهان
مشکلش MainForm هست
یعنی اون فرم MDIForm حتما باید MainForm باشه تا ارور نده
ولی تو برنامه من اون فرمه MainForm نیست
چیکار کنم؟
اگه فرم Parent شما MainForm نباشه حرف شما درسته و باید از کد زیر برای نمایش فرم 3 در داخل فرم 2 استفاده کنید.(با حساب اینکه فرم 1 MainForm باشه)
procedure TForm2.Button1Click(Sender: TObject);
begin
Form3:= TForm3.Create(Self);
Form3.Parent:= Form2;
Form3.Show;
end;
asgarkz
پنج شنبه 10 دی 1388, 15:43 عصر
با سلام
زماني كه از روش fsMDIChild و fsMDIForm استفاده مي كنم و خاصيت BorderStyle مربوط به فرم Child را روي bsToolWindow قرار مي دهم در زمان اجراي برنامه، فرم Child مانند حالت bsDialog نمايش داده مي شود.
يعني با تغيير خاصيت BorderStyle هيچ تغييري در نمايش ظاهري فرم ديده نمي شود.
لطفا در صورت امكان راهنمايي كنيد
alinikaein
جمعه 11 دی 1388, 11:44 صبح
احتمالاً اگه جاي دو خط زير را عوض كني، درست بشه. يه تستي بكن:
form2.parent := self;
form2.show;
اول Parent را تعريف بكن و بعد Show را صدا بزن.
يا علي... موفق باشي...
asgarkz
جمعه 11 دی 1388, 19:34 عصر
احتمالاً اگه جاي دو خط زير را عوض كني، درست بشه. يه تستي بكن:
form2.parent := self;
form2.show;
اول Parent را تعريف بكن و بعد Show را صدا بزن.
يا علي... موفق باشي...
در اين روش اصلا از parent استفاده نمي كنيم
يعني نيازي به اين كار نيست
asgarkz
جمعه 11 دی 1388, 22:35 عصر
من اين كار رو با نمونه آماده دلفي در مسير New -> Other -> MDI Application نيز تست كردم
ولي در همان مثال هم وقتي خاصيت BorderStyle مربوط به فرم MDIChild رو عوض مي كنم در حالت اجرا هيچ تغييري در ظاهر (Title) فرم ديده نمي شود.
از دوستان اگر كسي قبلا با اين مشكل برخورد كرده لطفا راهنمايي كند
با تشكر :لبخندساده:
asgarkz
شنبه 12 دی 1388, 15:57 عصر
ظاهرا كسي تابحال با چنين مشكلي برخورد نكرده است
به هر حال از توجه دوستان تشكر مي كنم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.