PDA

View Full Version : جلوگیری از ناپدید شدن MessageBox ...



alireza_63
شنبه 04 فروردین 1386, 12:55 عصر
با سلام

آیا راهی برای جلوگیری از ناپدید شدن MessageBox وجود داره ؟
منظورم از ناپدید شدن اینه که وقتی سیستم قبل از نمایش این پیغام ، مشغول انجام عملیاتی باشه و بعد از عملیات این پیام نمایش داده بشه ، پنجره پیام در پشت فرم ظاهر میشه و در نتیحه کاربر اونو نمی بینه! و تنها بعد از چند دفعه کلیک کردن روی آیکون برنامه در نوارابزار و .... این پنجره به نمایش در میاد ...

آیا راه حلی برای رهایی از این مشکل سراغ دارید ؟
ممنونم از دقتتون.

nasr
شنبه 04 فروردین 1386, 13:22 عصر
از ShowMessage استفاده کنید

dkhatibi
شنبه 04 فروردین 1386, 14:32 عصر
آخرین ورودی در messageBox را MB_TOPMOST تنظیم کنید.

alireza_63
شنبه 04 فروردین 1386, 15:58 عصر
با تشکر از دوستان ،
به جز این راه دیگری وجود نداره ؟
و اساسا چرا در هنگام استفاده از messagedlg این مشکل پیش میاد ؟

Hamid_PaK
شنبه 04 فروردین 1386, 17:18 عصر
اگر Handle پیام و یا Parent آن ، فرم برنامه شما باشه دیگر این مشکل پیش نخواهد آمد ...
چرا که فوکوس برنامه به پیام منعکس خواهد شد و تا پیام جواب داده نشود فرم برنامه فعال نمی شود.


procedure TForm1.Button1Click(Sender: TObject);
begin
MessageBox(Handle, 'test', '--', 0);
end;


یا حق ...

dkhatibi
شنبه 04 فروردین 1386, 19:43 عصر
با تشکر از دوستان ،
به جز این راه دیگری وجود نداره ؟
و اساسا چرا در هنگام استفاده از messagedlg این مشکل پیش میاد ؟
کلا این مشکل نیست. به طور پیش فرض فرمی که با اون کار می کنی در رو قرار می گیره.

alireza_63
شنبه 04 فروردین 1386, 22:29 عصر
جناب خطیبی عزیز
متاسفانه به طور پیش فرض این اتفاقی که می فرمایین رخ نمیده! و دقیقا موقعی که عملیات زیادی قبل از نمایش پیام انجام میشه ، پیام میره پشت فرم! ( البته زمانی که از MessageDlg استفاده میشه ) ولی خوب اشاره ی شما در مورد استفاده از MessageBox ظاهرا درست به نظر میرسه ...

حمید عزیز
کدی که شما فرمودین رو تست کردم ،
ظاهرا داره جواب میده!
ممنوم از توجهتون.