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

Вниз

кнопка [х] в заголовке окна   Найти похожие ветки 

 
InfoCar1   (2004-03-06 18:10) [0]

как сделать кнопку закрыть [х] в заголовке окна чтобы при нажатии на неё программа не закрывалась, а сворачивалась?


 
Юрий Зотов ©   (2004-03-06 18:12) [1]

Обрабатывать WM_SYSCOMMAND с SC_CLOSE и там сворачивать программу.


 
TButton ©   (2004-03-06 18:18) [2]

Form1.OnCloseQuery
begin
 CanClose;=false;
 WindowState:=wsMinimized;
end


 
Алхимик ©   (2004-03-06 18:26) [3]


> [2] TButton ©   (06.03.04 18:18)

Не корректно. Потом программу через диспетчер задач снимать?


 
Serge ©   (2004-03-06 18:29) [4]

>Алхимик ©   (06.03.04 18:26) [3]

> [2] TButton ©   (06.03.04 18:18)

Не корректно. Потом программу через диспетчер задач снимать?

Не обязательно, если для закрытия еще добавить какое-то условие при котором CanClose:=true;


 
Soft ©   (2004-03-06 18:30) [5]

>>Алхимик ©   (06.03.04 18:26) [3]
>>> [2] TButton ©   (06.03.04 18:18)
>>Не корректно. Потом программу через диспетчер задач снимать?

Каков вопрос таков ответ:)


 
TButton ©   (2004-03-06 18:32) [6]

>Потом программу через диспетчер задач снимать?
не применить индейскую хитрость
добавляем action CloseProg (например), вызываем его при выборе пункта меню "выход"

в нем пишем

...
 jobfinished:=true; //глобальная переменная
 close;
...
end;


а onCloseQuery соответсвенно переписываем следующим образом

...
 CanClose;=false;    // по умолчанию
 if jobfinished
   then CanClose:=true
   else WindowState:=wsMinimized;
...


 
TButton ©   (2004-03-06 18:33) [7]

очипятка
"не применить индейскую хитрость"
читать как
"нет, применить индейскую хитрость"


 
Petr V. Abramov ©   (2004-03-06 18:40) [8]

> subj
 Это не круто. Лучше сделать, чтоб по нажатию [x] окно разворачивалось на весь экран. Так курсы по пользованию программой дороже стоить будут :)
P.S. Тут была недавно ветка про Банк-клиент, у которого на кнопку надо было нажимать правой кнопкой мышки, а по нажатию левой вылезал AV. И обсуждалось там, откуда такие программы берутся. Вот Вам и ответ - отсюда.


 
Pa5ha   (2004-03-06 18:41) [9]

А можно так?:
CanClose:=true;
close;


 
Алхимик ©   (2004-03-06 18:43) [10]


> [8] Petr V. Abramov ©   (06.03.04 18:40)

В принципе согласен. Нефиг баловать со стандартным интерфейсом.


 
TButton ©   (2004-03-06 19:00) [11]

>А можно так?:
>CanClose:=true;
>close;<?CODE>

нельзя. CanClose - переменная обработчика onCloseQuery


 
TButton ©   (2004-03-06 19:08) [12]

дополнение:
>откуда такие программы берутся
от хитрых индейцев)


 
Gero ©   (2004-03-06 19:15) [13]

Чтобы было удобнее можно дописать метод.
Например:

procedure TForm1.RealClose;
begin
 JobFinished := True;
 Close;
end;

При необходимости закрытия достаточно будет вызвать RealClose.



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

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

Наверх




Память: 0.49 MB
Время: 0.021 c
7-1073742243
Phantomaz
2004-01-10 16:44
2004.03.28
Как получить ID-шники нитей (Threads) процесса ?


1-1078763502
sentinel
2004-03-08 19:31
2004.03.28
Номер строки исходника


14-1078073836
syte_ser78
2004-02-29 19:57
2004.03.28
Как подменить УРЛ в WebBrowser


1-1078647630
bjohny
2004-03-07 11:20
2004.03.28
Утечка памяти


9-1062027399
Dimon
2003-08-28 03:36
2004.03.28
Нужен компанент