PDA

View Full Version : سوال: پشت سر هم رفتن فرمها



daneshmand1354
چهارشنبه 03 مهر 1392, 13:01 عصر
با سلام خدمت همه دوستان
مشکلی به تازگی در برنامه های دلفی پیدا کرده ام که فرمها پشت سر یکدیگر قرار می گریند
مثلا فرض کنیم از روی فرم اول فرم دوم را showmodal می کنیم یعنی در فرم اول می نویسیم
form2.showmodal
فرم دوم به جای اینکه جلوتر از فرم اول قرار گیرد به پشت آن می رود
این اتفاق بیشتر زمانی می افتد که در برنامه کارهای سنگین انجام شود مانند اینکه در فرم اول یک pdf در فرم لود شود و هر چه کامپیوتر از نظر مشخصات فنی ضعیفتر باشد این اتفاق بیشتر تکرار می شود
لازم به ذکر است فرمهای من با مشخصات فرمهای اولیه دلفی هستند و MDI نیستند

یوسف زالی
چهارشنبه 03 مهر 1392, 13:07 عصر
سلام.
به نظرم بهتره که بعد از هر شومودال، مستقیم در فرم در رویداد OnShow یا OnActivate فرم رو بالا بیارید. چیزی مثل SetForeGround
راه دائمیش OverRide کردن ShowModal هست.

daneshmand1354
چهارشنبه 03 مهر 1392, 13:14 عصر
سلام.
به نظرم بهتره که بعد از هر شومودال، مستقیم در فرم در رویداد OnShow یا OnActivate فرم رو بالا بیارید. چیزی مثل SetForeGround
راه دائمیش OverRide کردن ShowModal هست.
با تشکر از پاسخ شما
در کدام فرم باید Override کنم و بر فرض که Override شد بعد از آن چه چیزی بنویسم
در ضمن این مشکل برای دستور showmessage نیز وجود دارد یعنی این دستور هم به پشت فرم می رود

یوسف زالی
چهارشنبه 03 مهر 1392, 14:20 عصر
باید TForm رو OverRide کنید (مثلا از روش هک کامپوننت)
به نظرم این آخرین راهه. صبر کنیم ببینیم دوستانمون چی می گن

Mask
چهارشنبه 03 مهر 1392, 15:26 عصر
در ادامه صحبتهای عزیز دلمون :قلب::
منم در دلفی 7 همین مشکل رو داشتم . راهی که رفتم به این صورت بود .
مقدار Top و Left فرم قبل رو میگرفتم و به اضافه 10 میکردم و به عنوان مقدار فرم در نظر میگرفتم.
البته با چنتا شرط دیگه . که مثلا اگه فرم زیرین وسط نبود به صورت عادی نمایش داده بشه و ...

daneshmand1354
سه شنبه 09 مهر 1392, 19:00 عصر
این راه در صورتی که فرمها تمام صفحه را اشغال کند قابل استفاده نیست
منتظر پاسخهای دوستان هستیم