Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


timself ©   (2007-03-01 01:06:00) 

Как сделать так, чтобы кнопка закрытия программы [ 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;
Но эта уловка не всегда применима. А как поиметь реальный доступ к красной кнопке?


timself   (2007-03-04 01:17:00) [1]

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


Vlad Oshin   (2007-03-01 14:58:00) [2]

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


Vlad Oshin   (2007-03-01 14:34:00) [3]

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


evvcom   (2007-03-01 10:58:00) [4]

> [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;


AndreyV   (2007-03-01 09:33:00) [5]

OnFormClose()?


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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо