PDA

View Full Version : سوال: کنترل نمایش فرم های برنامه



hamid_14
چهارشنبه 06 فروردین 1393, 14:14 عصر
سلام
چطوری میشه با نماش یک فرم یک فرم دیگه هم نمایش داد و با بستنش هم یک فرم دیگه بست.البته می دونم با onshow , onclose هر فرم میشه این کارو کرد اما اینطوری باید برای همه فرم ها کد نوشت آیا راهی هست که خود برنامه تشخیص بده هر زمان که فرمی باز شد خودش فرم های دیگه ای که تعریف می کنم و باز کنه.حتی اگه پیامی خود دلفی داد.ممنون

یوسف زالی
چهارشنبه 06 فروردین 1393, 14:17 عصر
سلام.
کلاس مرتبط با فرمنتون رو باز نویسی کنید.
بعد از این کلاس تمام فرمهاتون رو مشتق کنید.
در رویداد های کلاس مرتبط می تونید کارهایی رو که می خواهید انجام دهید و تمام فرمهای مشتق شده از این کلاس همین کارها رو انجام خواهد داد.

hamid_14
چهارشنبه 06 فروردین 1393, 14:52 عصر
ممنون,لطف می کنید یک مثال یا نمونه کد معرفی کنید.

یوسف زالی
چهارشنبه 06 فروردین 1393, 15:24 عصر
در مورد Master Form ها تحقیق کنید.
برای مثال:
یک پروژه جدید ایجاد کنید. مثلا با اسم project1
یک فرم به غیر از فرم اصلی مثلا با نام MyForm ایجاد کنید.
در سورس پروژه خط زیر رو پاک کنید:


Application.CreateForm(TMyForm, MyForm);

روی همین فرم برنامه مثلا در رویداد OnShow بنویسید.


ShowMessage(Name);

از منوی File -> New -> Other از تب Project1 این فرم رو انتخاب کنید تا یک فرم جدید از روی فرم قبلیتون ساخته بشه.
همین طور که می بینید در رویداد OnShow این فرم چیزی نوشته نشده.
از فرم اولتون این فرم رو شو کنید.
همین طور که می بینید با نمایش این فرم، متنی که در فرم والد نمایش میدید اجرا می شه.
هر تعداد از MyForm که مشتق کنید برای هر کدوم نامش نمایش داده خواهد شد.
اساس کار همینه، با کمی تغییر می تونید به خواستتون برسید.

موفق باشید.