PDA

View Full Version : جلو گیری از بسته شدن برنامه



AmirWriter
شنبه 23 اردیبهشت 1385, 19:33 عصر
سلام .

می خواستم بدونم می شه کاری کرد که برنامه با کلید های ترکیبی Alt+F4 بسته نشود .

Mahdi_Delphi
شنبه 23 اردیبهشت 1385, 20:35 عصر
بله میشود
توی رویداد onclose فرم برنامتون canclose رو False کنید.

Hamid_PaK
شنبه 23 اردیبهشت 1385, 20:45 عصر
وضعیت کلید ALT+F4 رو چک کنید، توی رخداد OnCloseQuery فرم CanClose رو کنترل کنید...

یا حق !!!

seyed_farid
شنبه 23 اردیبهشت 1385, 22:43 عصر
این کد رو اضافه کن.


procedure Tmain.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ( key = VK_F4 ) and ( ssAlt in shift )
then Key :=0;
end;

ghabil
شنبه 23 اردیبهشت 1385, 22:50 عصر
این کد آخری کامله فقط حتما باید KeyPreview فرم رو هم True بکنی در این حالت.

هاجر
یک شنبه 24 اردیبهشت 1385, 10:22 صبح
سلام
من امتحان کردم اما جوابی نداد بازم فرم رو می بنده

Mahdi_Delphi
یک شنبه 24 اردیبهشت 1385, 11:29 صبح
سلام
من امتحان کردم اما جوابی نداد بازم فرم رو می بنده

شما در رویداد OnCloseQuery فرمتون مقدار CanClose رو false کنید دیگه فرمتون با ALT+F4 بسته نخواهد شد.

AmirWriter
یک شنبه 24 اردیبهشت 1385, 14:54 عصر
canclose

فرمم یه همچین چیزی نداره . :گریه:

Mahyaa
یک شنبه 24 اردیبهشت 1385, 15:02 عصر
canclose

فرمم یه همچین چیزی نداره . :گریه:


CanClose یکی از آرگومانهای رویداد OnCloseQuery هستش .

AmirWriter
یک شنبه 24 اردیبهشت 1385, 15:13 عصر
ممنون دوستان مشکل با راه حال آقای مهدی و آقای سعید حل شد

هاجر
دوشنبه 25 اردیبهشت 1385, 13:17 عصر
سلام
ممنون از شما دوستای عزیز اما (نمیدونم مشکل من هست یا اینکه برنامه ) دیگه نمیتونم با خود دکمه Exit هم برنامه رو ببندم .

B_YAGHOBI
دوشنبه 25 اردیبهشت 1385, 13:39 عصر
1) شما یک متغییر بنام isClose تعریف کنید.
2) در رویداد OnCreate مقدار آنرا False کنید.
3) در رویداد CloseQuery کد CanClose := isClose ; قرار دهید.
4) در رویداد Exit خودتان وقتی میخوهید Close کنید ابتدا isClose := True ; را بنویسید.

Mahdi_Delphi
دوشنبه 25 اردیبهشت 1385, 14:10 عصر
سلام
ممنون از شما دوستای عزیز اما (نمیدونم مشکل من هست یا اینکه برنامه ) دیگه نمیتونم با خود دکمه Exit هم برنامه رو ببندم .

همونطور که دوستمون گفتند یه دکمه روی فرم بزارید و داخل اون CanClose رو از طریق یه متغیر سراسری True کنید.حالا با اون دکمه فرمتون رو ببندید.

ghabil
دوشنبه 25 اردیبهشت 1385, 16:10 عصر
اگر از اون کدی که اینجا نوشته شده بود با کی پرویو True استفاده میکردین فقط جلوی بسته شدن برنامه با Alt + F4 گرفته میشد نیازی هم به گرفتن متغیر سراسری نبود

Hamid_PaK
سه شنبه 26 اردیبهشت 1385, 04:13 صبح
همیشه تمامی نظر و پیشنهاد ها را دریافت و بهترین رو انتخاب کنید ...
دیگه یک چنین کد پیش پا افتاده ای هم نیاز به این همه پست نداره یکی رو انتخاب کنید !!!

یا حق !!!