![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нажатие на крестик (закрытие программы) [D6, WinXP]
heruvim4ik © (2002-04-26 20:43:00)Мне нужно, чтоб при нажатии на крестик, прога не закрывалась, а выполнялось другое действие, мною прописанное
Заранее благодарен
Керик (2002-05-03 10:35:00) [1]Вот так:
...
procedure GetMinimize(var Message: TMessage); message WM_SYSCOMMAND;
...
procedure GetMinimize(var Message: TMessage);
begin
if Message.wParam = SC_MINIMIZE then
begin
{Запишешь, чё надо выполнить при минимизации.
если после этого надо свернуться, вставь Inherited;}
end;
end;
Вадим02 (2002-05-03 06:21:00) [2]Вообще-то в некоторых странах,например в USA, нарушение
стандарта карается по закону!Если это идея-фикс, тогда
через API необходимо зайти в раздел формирования формы
и навести там свой порядок.
Song (2002-04-28 22:02:00) [3]2cok © (28.04.02 15:53)
Давайте не будем придираться к пониманию вопроса. Автор получил уже ответ, который его устроил и мало того, вероятно, он уже всё сделал, а Вы всё ещё деферамбы разводите. Будьте проще...
cok (2002-04-28 15:53:00) [4]>Song ©
>Можно подумамать что CanClose не поможет для Alt+F4.
Вот именно, что поможет, а человек просил, чтобы помогало только при нажатии на крестик!( Мне нужно, чтоб при нажатии на крестик, прога не закрывалась, а выполнялось другое действие, мною прописанное)
Song (2002-04-28 15:05:00) [5]cok © (28.04.02 13:54)
1.Можно подумамать что CanClose не поможет для Alt+F4. Вы прежде чем говорить, уважаемый, просто проверьте.
2.Мы всё сказали правильно. Прога не убивается, а в обратчике onClose* выполняется его код.
Вы вообще о чём?
cok (2002-04-28 13:54:00) [6]2 Doom ©, Song ©
Вам же сказано:
>> при нажатии на крестик, прога не закрывалась, а выполнялось >>другое действие, мною прописанное
А вы что делаете? (наверно забыли, что еще есть Alt+F4)
Song (2002-04-28 10:04:00) [7]TApplication.onMinimize
WM_SYSCOMMADND, SC_MINIMIZE
heruvim4ik (2002-04-28 00:00:00) [8]Ещё один вопрос...
Сутьт та же, только теперь не крестик, а мнопка minimize
Atrem (2002-04-27 13:01:00) [9]закрывать можешь так
postquitmessage(1);
Gayrus (2002-04-27 10:01:00) [10]Если очень надо могу дать компонент помещает свою кнопку к стандартным, сделаешь рисунок крестика и всё путём. P.S. Сам долго мучался
VuDZ (2002-04-26 23:39:00) [11]заведи флажёк глобальный типа bCanClose := false, и проверяй его перед закрытием
Song (2002-04-26 21:37:00) [12]1.Поставь булевскую переменную в обработчик.
2.Application.Terminate - обработчики onClose* не обрабатываются.
3.WM_SYSCOMMAND, SC_CLOSE по сути повторяет 2 шаг.
Doom (2002-04-26 21:16:00) [13]А тебе как написали? По- орангутангски что ли?
heruvim4ik (2002-04-26 21:09:00) [14]Мля! Здорово, конечно, но теперь возникает другой вопрос:
как её(прогу) ЗАКРЫТЬ ПО-ЧЕЛОВЕЧЕСКИ????
Song (2002-04-26 20:55:00) [15]1. onCloseQuery:
CanClose:=False;
Ваши действия.
2. onClose
Action:=caNone;
Ваши действия
3. WM_SYSOMMAND
wParam=SC_CLOSE
Ваши действия
Достаточно? :)
Doom (2002-04-26 20:54:00) [16]событие Form.onClose