View Full Version : سوال: رویداد Close Query فرم
hasandrw
دوشنبه 21 شهریور 1390, 12:03 عصر
سلام
با دستور CanClose:=false; دکمه فرم را غیر فعال کردم .
حالا می خوام از طریق یک دکمه دیگه در فرم این کار را انجام بدم . با چجوری بهش دستور بدم ؟
MohsenB
دوشنبه 21 شهریور 1390, 12:15 عصر
سلام
جای اون کدتون این کد رو بنویسید :
CanClose:= blnCanClose;
بعد از اون این متغییر blnCanClose رو یه جای عمومی تعریف کنید و هر جای برنامه که خواستید مقدارشو تغییر بدین .
hasandrw
دوشنبه 21 شهریور 1390, 13:27 عصر
برای غیر فعال کردن دکمه Close فرم از این روش که شما گفتین روی کد blnCanClose خطا می گیره.
MohsenB
دوشنبه 21 شهریور 1390, 13:51 عصر
برای غیر فعال کردن دکمه Close فرم از این روش که شما گفتین روی کد blnCanClose خطا می گیره.
اول باید تعریفش کنید . مثلا :
var
blnCanClose:Boolean;
hasandrw
دوشنبه 21 شهریور 1390, 14:33 عصر
حالا اگه بخوام با یک Button که روی فرم است فرم را close کنم با دستور Close نمی تونم این کار را انجام بدم.
باید چجوری براش بنویسم؟
MohsenB
دوشنبه 21 شهریور 1390, 15:07 عصر
حالا اگه بخوام با یک Button که روی فرم است فرم را close کنم با دستور Close نمی تونم این کار را انجام بدم.
باید چجوری براش بنویسم؟
شما باید ابتدا مقدار اون متغییر رو عوض کنید بعد از اون پنجره رو ببندید . مثل :
blnCanClose:= True;
Close;
hasandrw
دوشنبه 21 شهریور 1390, 19:14 عصر
در ضمن اینجا اسم متغییر رو هی چی خودم بخوام می تونم بزارم؟
MohsenB
دوشنبه 21 شهریور 1390, 19:29 عصر
بله ، فرقی نداره .
hasandrw
دوشنبه 21 شهریور 1390, 21:33 عصر
بعدش یک مشکل کوچولو :
چون رو Button ای که روی فرم قرار داره کد "پست 6" را نوشتم .اگه یک بار از فرم خارج بشم . برای بار دیگه که فرم را باز می کنم دکمه Close فرم دوباره فعال میشه ؟
راحل چیه ؟
MohsenB
دوشنبه 21 شهریور 1390, 23:32 عصر
روی فرم برنامه دوبار کلیک کن و این کد رو بهش اضافه کن :
procedure TForm1.FormCreate(Sender: TObject);
begin
blnCanClose:= False; //این کد
end;
hasandrw
سه شنبه 22 شهریور 1390, 08:27 صبح
75244
بازهم جواب نمیده . خودتون یک نگاهی بهش بندازید بهتره
MohsenB
سه شنبه 22 شهریور 1390, 13:50 عصر
خوب شما که فرم رو اینجوری نمایش می دید و اونو نمیسازید باید بجای رویداد "زمان ساخت" ( OnCreate ) توی روی داد "زمان فعال شدن" ( OnActivate ) بنویسید . مثل :
procedure TForm2.FormActivate(Sender: TObject);
begin
BlnCanClose:=false;
end;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.