نمایش نتایج 1 تا 16 از 16

نام تاپیک: چگونه ایجاد فرم های مادر و فرزند ؟

  1. #1
    کاربر تازه وارد آواتار Ali-Far
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اصفهان
    پست
    98

    چگونه ایجاد فرم های مادر و فرزند ؟

    سلام.
    من تو دلفی با استفاده از خاصیت FormStyle فرم های از نوع مادر (fsMDIFORM ) و فرم های
    فرزند( fsMDIChild ) ایجاد کردم ولی وقتی که برنامه اجرا می شود تمام فرم های فرزند نمایش
    داده می شود و وقتی که فرم را Close می کنم فرم بصورت MiniMize می شود .
    حالا من میخوام در هنگام اجرا فقط فرم مادر نمایش داده شود و وقتی از منو گزینه ی انتخاب
    شود فرم مربوطه بصورت فرزند در داخل فرم مادر نمایش داده شده و با Colse کردن نیز بسته شود
    ( تمام کلیدهای Close ,Minimize, Maximize کار اصلی خودشان را انجم دهند ).

    با تشکر.

  2. #2
    کاربر دائمی آواتار Touska
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    ایران زمین
    سن
    41
    پست
    1,988
    قبل از اینکه سئوال بپرسید در سایت جستجو کنید.

    جواب اینکه شما باید فرمهای فرزند خود را از نوع Avalibale from بذارید و خودتون دستی Create کنید.

    و برای بسته شدن در Onclose از این کد استفاده نمایید :

    Action := Cafree;

  3. #3
    کاربر تازه وارد آواتار Ali-Far
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اصفهان
    پست
    98
    سلام.
    من از شما به خاطر راهنمای و تذکری که دادید تشکر می کنم . ولی من الان یک مشکلی دارم
    اینکه کد ( Form2 := Tform2.creat(application را کجا اضافه کنم .
    البته من این کد را در صفحه ی اصلی داخل یک کلید اضافه کردم(و در قسمت یونیت Project
    (Application.Creatform(Tform2,Form2 را کامنت کردم )حالا وقتی فرم را Maximize می کنم با فرم اصلی یکی می شود و کلیدهای فرم پسر قابل رویت نیست .

  4. #4
    کاربر دائمی آواتار Ehsansh
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    127.0.0.1
    سن
    41
    پست
    278
    من زمانی این مشکل رو داشتم. با فریم کار کردم خیلی راحت مشکلم حل شد.
    مزیت های زیادی داره فریم.
    یکی اینکه میتونی در زمان اجرا Transparent کنی و زمینه فریم میشه زمینه فرمت.
    اگه خواستی و دیدی به دردت میخوره بگو تا بنویسم.
    موفق باشی.

  5. #5
    کاربر تازه وارد آواتار Ali-Far
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اصفهان
    پست
    98
    سلام.
    من برنامه را با همان روش قبلی تست کردم ولی تو برنامه خطای آدرسی می دهد .
    حالا اگه شما کدها را بنویسید ممنون می شوم .
    باسپاس

  6. #6
    دوست عزیز توسکا میشه بیشتر توضیح بدهید
    با ذکر مثال
    با تشکر

  7. #7
    کاربر دائمی آواتار Touska
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    ایران زمین
    سن
    41
    پست
    1,988
    توضیحات ندارم و مثال :


    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: rar MDI.rar‏ (7.4 کیلوبایت, 84 دیدار)

  8. #8
    کاربر تازه وارد آواتار Ali-Far
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اصفهان
    پست
    98
    سلام.
    خیلی ممنون از راهنمایی دوست عزیز توسکا.
    من برنامه را تست کردم ولی طبق اون مثالی که گذاشتید هر بار که کلید را فشار می دهیم یک فرم جدید ایجاد می کنه . حالا من میخوام که اگه همون فرم در صفحه وجود داره و زیر بقیه ی فرم هاست فقط دوباره اون را نشون بده نه دوباره ایجاد کنه.
    من متد Show را هم تست کردم ولی Error آدرسی داد.
    با تشکر .

  9. #9
    کاربر دائمی آواتار Touska
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    ایران زمین
    سن
    41
    پست
    1,988
    شما باید برای هر فرمی یک اسم بذارید و وقتی می خواهید آن را نمایش بدهید اول چک کنید

    که آن فرم وجود دارد یا نه که اگر نه بسازید و اگر بله آن را Show کنید.

    می تونید بوسیله FindGlobalCompoent یا FindComponent بودن آنها را چک کنید.

    راه دیگر هم از طریق Assign هست.

    موفق باشید :)

  10. #10
    توسکا جان
    میشه زحمت این قسمت رو هم خود شما بکشی و کدش رو بنویسی

  11. #11
    جناب توسکا با سلام

    نقل قول :
    { شما باید برای هر فرمی یک اسم بذارید و وقتی می خواهید آن را نمایش بدهید اول چک کنید که آن فرم وجود دارد یا نه که اگر نه بسازید و اگر بله آن را Show کنید.
    می تونید بوسیله FindGlobalCompoent یا FindComponent بودن آنها را چک کنید.
    راه دیگر هم از طریق Assign هست }

    میشه زحمت بکشید و در رابطه با نحوه استفاده از دستورات :
    FindGlobalCompoent یا FindComponent
    و
    Assign
    توضیح بیشتری بدهید.
    ترجیحا با مثال باشد ممنون میشم
    با تشکر

  12. #12
    کاربر دائمی آواتار Touska
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    ایران زمین
    سن
    41
    پست
    1,988
    IF FindGlobalComponent('Form1') <> Nil Then
    Begin
    //Do Some things code
    End;

    موفق باشید ;)

  13. #13
    procedure TForm1.New1Click(Sender: TObject);
    Var
    Child : TForm2;
    begin
    IF FindGlobalComponent('Form2') = Nil Then
    Child := TForm2.Create(Self);
    Child.Show
    end;

    من این کد رو طبقه گفته شما نوشتم اما بعد از کلیک اول و ایجاد فرم در کلیک دوم خطا میزنه

  14. #14
    کاربر دائمی آواتار Touska
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    ایران زمین
    سن
    41
    پست
    1,988
    شما باید بگید اسم فرم چیست :

    procedure TForm1.New1Click(Sender: TObject);
    Var
    Child : TForm2;
    begin
    IF FindGlobalComponent('Form2') = Nil Then
    Begin
    Child := TForm2.Create(Application);
    Child.Name := 'Form2';
    Child.Show;
    End
    Else
    Begin
    Child.Show;
    End;
    end;

  15. #15
    کاربر دائمی آواتار mohsenrahx
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    گلستان
    پست
    105

    نقل قول: چگونه ایجاد فرم های مادر و فرزند ؟

    سلام بر شما و با تشکر از گفتگو های شما که مفید واقع شد.
    توسکای عزیر و اساتید محترم. من همین کارا رو انجام دادم بعضی از مشکلاتم رفع شد و اما زمانی که با کلیک بر باتونی روی فرم اصلی کد بالا رو برای نمایش فرم دوم یعنی فرم فرزند فراخوانی می کنم ارور خطا در آدرس دهی رو می ده اما با این حال فرم دوم رو باز می کنه.

    چه کنیم؟

  16. #16
    کاربر دائمی آواتار mohsenrahx
    تاریخ عضویت
    مرداد 1386
    محل زندگی
    گلستان
    پست
    105

    نقل قول: چگونه ایجاد فرم های مادر و فرزند ؟

    بزارید سوالم رو دقیق تر بپرسم.
    من دو تا فرم دارم که یکی مادر و دیگری فرزند هست.
    و یک فرم دیتا مودل. که جمعا 3 فرم می شود.
    فرم مادر باز می شود بدون هیچ اروری با دستوری که توسکای عزیز در آخرین پیغامش کذاشته فرم فرزند رو باز می کنم و ارور ادرس می دهد. حالا کد رو دقیق نگاه کردم در فرم دوم یعنی فرم فرزند زمانی که Create می کنم چند کار انجام می شود.
    DM1.Adotable1.Open;
    DM1.Adotable2.Open;
    تا اینجا کد راحت اجرا می شود اما در ادامه کد داریم
    SearchS.DBGrid1.SetFocus;
    SearchS.ShowInfoClick(Sender);
    همین جا ارور ادرس می ده. حالا لطف کنبد نظرتون رو در این خصوص بفرمایید.
    هم موقع ست فوکا هم موقع فراخوان یک باتون که توی باتون ShowInfo چند کد نوشته شده که وقتی به خط زیر میرسه ارور می ده
    BigNumber:=DM1.Adotable1.FieldByName('id').AsStrin g;
    آخرین ویرایش به وسیله mohsenrahx : دوشنبه 18 دی 1391 در 15:26 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •