Главная страница
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.066 c
9-1060915667
sunsay
2003-08-15 06:47
2004.03.28
Пошаговые космичексие стратегии...


6-1074172801
FOIL
2004-01-15 16:20
2004.03.28
Все процессы на удалённой машине


7-1073780864
@ndrey
2004-01-11 03:27
2004.03.28
Люди!!!! Что мне делать ХР неопределяет дисковод!!!!!


1-1078949604
White
2004-03-10 23:13
2004.03.28
Преобразование типов! (Вопрос второй)


3-1074854173
Dimman1
2004-01-23 13:36
2004.03.28
Формат даты в Visual FoxPro