forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Закрытие окна (крестик) (http://forum.boolean.name/showthread.php?t=15581)

Jester 03.10.2011 02:48

Закрытие окна (крестик)
 
Может подскажет кто, как определить в Блице нажатие на "крестик" в оконном режиме.

То есть необходимо:

If "Нажатие на крестик закрытия программы"=True Then
Событие
Endif

Заранее благодарен!

Nerd 03.10.2011 09:30

Ответ: Закрытие окна (крестик)
 
Нельзя никак. В бмаксе можно.

Jester 03.10.2011 17:00

Точно никак? Через WIN_api тоже?

Хорошо. Тогда такой вопрос - есть ли возможность отследить закрытие программы, тоесть выполнение End?

NitE 03.10.2011 17:21

Ответ: Закрытие окна (крестик)
 
А его и отслеживать ненадо - программа сама завершится!

FireOwl 03.10.2011 17:22

Ответ: Закрытие окна (крестик)
 
Имеется ввиду что-то вроде "Вы уверены? Сохранить изменения?"?
Но зачем отслеживать End, если сам его из кода вызываешь?

В таком случае лучше отслеживать нажатие Esc.

Jester 03.10.2011 18:25

Nerd, не стоит фэйспалмить, не разобравшись.

Возможно я не так задал вопрос.


Мне необходимо отследить завершение программы, не по нажатию какой-то клавиши (будь то Esc, Enter and e.t.c.), а по нажатию "крестика", то есть непосредственно само событие нажатия на "крестик".

Сам понимаю, что после завершения программы ЕСТЕСТВЕННО ничего выполняться не будет.

Цитата:

Сообщение от NitE (Сообщение 204337)
А его и отслеживать ненадо - программа сама завершится!

Это понятно. Мне необходимо отследить для другого. Для завершения определенной функции. По ESC - все работает отлично, я тупо отслеживаю нажатие этой клавиши, а вот по крестику, без завершения определенного процесса (а именно выгрузки программы из трея) прога тупо кидает ошибку. :\

Именно поэтому и необходимо узнать когда программа совершает закрытие и ПЕРЕД этим выгружать прогу из трея.

Цитата:

Сообщение от FireOwl (Сообщение 204338)
Имеется ввиду что-то вроде "Вы уверены? Сохранить изменения?"?
Но зачем отслеживать End, если сам его из кода вызываешь?

В таком случае лучше отслеживать нажатие Esc.

В том то и дело, что отслеживая ESC все просто делается, а вот при нажатии на креcтик - ступор.

Понятно. Я бы не спрашивал если бы знакомый, который раньше работал в Блице не сказал, что с помощью Winapi можно... Спасибо.

P.s. Оскорблять пользователя, который только начинает, обзывая его тормозом, пусть даже с помощью картинки - грубость, молодой человек.

impersonalis 03.10.2011 18:59

Ответ: Закрытие окна (крестик)
 
Цитата:

Сообщение от Nerd96 (Сообщение 204313)
Нельзя никак. В бмаксе можно.

ты тупой! ибо
Цитата:

Сообщение от Рене Декарт
Кто берется давать наставления, должен считать себя искуснее тех, кому он их дает: малейшая его погрешность заслуживает порицания.

http://www.forum.boolean.name/showpo...88&postcount=3
http://www.forum.boolean.name/showpo...36&postcount=2

2Jester
Вопрос сформулирован корректно и понятно.

Dzirt 03.10.2011 19:00

Ответ: Закрытие окна (крестик)
 
Не до конца понял суть вопроса, но ты всегда можешь проверить координаты мышки + нажатие левой клавиши.....если идти обходными путями =)

Если все делать прямо - то Имп уже ответил, пока я тут эту чепуху писал)

Jester 03.10.2011 19:08

Ответ: Закрытие окна (крестик)
 
impersonalis

Огромное спасибо! То что нужно!

Gamemaker1 15.12.2012 16:32

Ответ: Закрытие окна (крестик)
 
Так, может, я один не понял? Я не понимаю, как отслеживать координаты вне окна Blitz3D. Меня давно интересовал вопрос. После выхода за окно они продолжают меняться?

L-ee-X 16.12.2012 01:05

Ответ: Закрытие окна (крестик)
 
Цитата:

Сообщение от Gamemaker1 (Сообщение 246600)
Так, может, я один не понял? Я не понимаю, как отслеживать координаты вне окна Blitz3D. Меня давно интересовал вопрос. После выхода за окно они продолжают меняться?

Тебя он видать год интересовал, а сейчас ты все же решился это написать?:-D

impersonalis 16.12.2012 02:32

Ответ: Закрытие окна (крестик)
 
Цитата:

Сообщение от Gamemaker1 (Сообщение 246600)
Меня давно интересовал вопрос. После выхода за окно они продолжают меняться?

Ни в коем случае не проверяй это! Ведь тогда на один вопрос станет меньше. Жизнь вновь приобретёт тот приторный привкус вчерашнести. Один день станет похож на другой. Останется лишь бесконечная пустота существования.

Черный крыс 16.12.2012 12:54

Ответ: Закрытие окна (крестик)
 
Вроде как в библиотеке standart_c существует функция AtExit(func()), которая как раз вызывает нужные тебе функции перед фактическим завершением программы ( по сути деструктор программы ).

Возможно, что то подобное есть в ВинАПИ, но проще прилинковать ДЛЛ.

Gamemaker1 16.12.2012 14:03

Ответ: Закрытие окна (крестик)
 
Цитата:

Сообщение от L-ee-X (Сообщение 246614)
Тебя он видать год интересовал, а сейчас ты все же решился это написать?:-D

Нет, просто только зарегистрировался. Вопрос мне этот как-то был интересен, а потом не понадобился.

Gamemaker1 02.01.2013 15:56

Ответ: Закрытие окна (крестик)
 
Цитата:

Сообщение от Diablo1909 (Сообщение 246631)
Вроде как в библиотеке standart_c существует функция AtExit(func()), которая как раз вызывает нужные тебе функции перед фактическим завершением программы ( по сути деструктор программы ).

А где взять библиотеку? Ссылку не дадите? А то через координаты мыши не работает, счётчики (MouseX(), MouseY())останавливаются перед выходом курсора за экран.:(


Часовой пояс GMT +4, время: 18:42.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot