PDA

View Full Version : تفاوت این دو چیه؟



Mask
دوشنبه 03 آبان 1389, 21:56 عصر
میشه دوستان تفاوت این دو دستور رو بفرمایند.

Form1.Show;
form1.Visible.True;
این دو دستور برای نمایش فرم استفاده میشه.
ممنون.

Felony
دوشنبه 03 آبان 1389, 22:02 عصر
فرقی نداره Form1.Show در آخر همون Form1.Visible رو فراخوانی میکنه :
procedure TCustomForm.Show;
begin
Visible := True;
BringToFront;
end;

Mask
دوشنبه 03 آبان 1389, 22:06 عصر
فرقی نداره
ممنون. اما اینم از اون حرفا بودا.
آخه اگه فرقی نداشت چرا پس دوتا شو بورلند گزاشته.(شاید از دستش در رفته:چشمک::لبخند:)
با در نظر گرفتن اینکه دوتاش یه کار میکنه.

tdkhakpur
دوشنبه 03 آبان 1389, 22:20 عصر
میشه دوستان تفاوت این دو دستور رو بفرمایند
show باعث میشه فرم و خصویات نمایشی فرم در صفحه ظاهر بشه و اگر احتیاج به repaint داشت دوباره این روتین هم فراخوانی بشه.
اما visible باعث میشه ترسیم پنجره در لیست رابط گرافیکی جزو پنجره های فعال برای ترسیم قرار بگیره یا نه مثلا اگر False باشه رابط گرافیکی اقدامی به ترسیم محتوای پنجره انجام نمیده و پنجره مخفی میشه.
در کل و در آخر اگر پنجره غیرفعال بوده باشد و فعال کنید refresh هم برای repaint شدن پنجره ارسال بشه تا اشیای پنجره بدون توجه به نمایش قبلی کلا از اول ترسیم بشه.

Felony
دوشنبه 03 آبان 1389, 22:20 عصر
ممنون. اما اینم از اون حرفا بودا.
آخه اگه فرقی نداشت چرا پس دوتا شو بورلند گزاشته.(شاید از دستش در رفته:چشمک::لبخند:)
با در نظر گرفتن اینکه دوتاش یه کار میکنه.

از کدو حرفا ؟! اون کد رو گزاشتم که فرقشو ببینی !
اون کد مربوط میشه به فراخوانی متد Show یعنی وقتی متد Show رو صدا میزنی دلفی پشت صحنه اون کد رو اجرا میکنه ، همونطور که تو کد مشخصه! بعد از True شدن Visible متد BringToFront فراخوانی شده تا فرم بعد از نمایش بیاد رو بقیه فرم های برنامه ( onTop ) ، ولی وقتی خود Visible رو مستقیم صدا میزنی این متد فراخوانی نمیشه و فقط فرم نمایش داده میشه ولی نه لزوما روی باقی فرم های برنامه !

Mask
دوشنبه 03 آبان 1389, 22:27 عصر
از کدو حرفا ؟! اون کد رو گزاشتم که فرقشو ببینی !
اون کد مربوط میشه به فراخوانی متد Show یعنی وقتی متد Show رو صدا میزنی دلفی پشت صحنه اون کد رو اجرا میکنه ، همونطور که تو کد مشخصه! بعد از True شدن Visible متد BringToFront فراخوانی شده تا فرم بعد از نمایش بیاد رو بقیه فرم های برنامه ( onTop ) ، ولی وقتی خود Visible رو مستقیم صدا میزنی این متد فراخوانی نمیشه و فقط فرم نمایش داده میشه ولی نه لزوما روی باقی فرم های برنامه !
ممنون.
پس یه کوچولو فرق داره.
یعنی در BringToFront شدنشه.
بازم تنکیو.