Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.29;
Скачать: CL | DM;

Вниз

Как переназначить кнопку закрытия программы [x]?   Найти похожие ветки 

 
timself ©   (2007-03-01 01:06) [0]

Как сделать так, чтобы кнопка закрытия программы [ x ] выполняла другое (нужное мне) действие?
Я придумал следующий фэйк (и он в частном случае работает):
1. Выключаем переключатель:
var
 Form1: TForm1;
 a: boolean = false;

2.  Делаем новый батон для закрытия проги:
procedure TForm1.Button1Click(Sender: TObject);
begin
 a:=true;
 Сlose;
end;

3. ...ну и далее:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 if a then CanClose:=true else
   begin
     CanClose:=false;
     //  ...а сюда пишем новое действие для кнопки [x]
     beep;
   end;
end;
Но эта уловка не всегда применима. А как поиметь реальный доступ к красной кнопке?


 
Германн ©   (2007-03-01 01:24) [1]


> Но эта уловка не всегда применима.

Что значит "не всегда"?


 
AndreyV ©   (2007-03-01 09:33) [2]

OnFormClose()?


 
evvcom ©   (2007-03-01 10:58) [3]

> [0] timself ©   (01.03.07 01:06)
> if a then CanClose:=true else
>   begin
>     CanClose:=false;
>     beep;
>   end;

:)))
CanClose := a;
if not a then beep;


 
Vlad Oshin ©   (2007-03-01 14:34) [4]

программу могут закрыть минуя нажатие кнопки


 
Vlad Oshin ©   (2007-03-01 14:58) [5]

а, ну а если все-таки интересует именно кнопка - то обработка сообщения WM_SYSCOMMAND спасет отца русской демократии :)


 
timself ©   (2007-03-04 01:17) [6]

Благодарю, прблема решена



Страницы: 1 вся ветка

Текущий архив: 2007.04.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
15-1175417739
Calibr
2007-04-01 12:55
2007.04.29
Perl с HTML


4-1164386044
LexusU
2006-11-24 19:34
2007.04.29
Как получить статус процесса на удаленном компьютере


2-1175775557
leonidus
2007-04-05 16:19
2007.04.29
Глюки с отображением формы


6-1162525572
tarantul_ip02
2006-11-03 06:46
2007.04.29
Сделал бота для сетей irc. Есть проблема.


2-1176170635
>>DEATH<<
2007-04-10 06:03
2007.04.29
Помогите написать