powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / MS Windows: кнопка Close блокирует GUI
6 сообщений из 156, страница 7 из 7
MS Windows: кнопка Close блокирует GUI
    #39907703
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teo609
Сделав обработку нажатия кнопки закрытия в NC внешней, в MS получили возможность дополнительного реагирования в этой области
Секунду, оно вроде всегда было внешним, или почти всегда. Просто немного поменяли маршрут разруливания этого сообщения. И кстати, в том патче винды, если я не ошибаюсь, ввели такую штуку: вместо зависающего окна вешают фантома, который внешне похож на изначальное окно. Это внесло неудобство в софт работы с задачами. А ещё NC создало огромные трудности в скинировании приложений.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39907795
teo609
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CEMb
teo609
Сделав обработку нажатия кнопки закрытия в NC внешней, в MS получили возможность дополнительного реагирования в этой области
Секунду, оно вроде всегда было внешним, или почти всегда. Просто немного поменяли маршрут разруливания этого сообщения. И кстати, в том патче винды, если я не ошибаюсь, ввели такую штуку: вместо зависающего окна вешают фантома, который внешне похож на изначальное окно. Это внесло неудобство в софт работы с задачами. А ещё NC создало огромные трудности в скинировании приложений.


Как я это себе представляю на основе того что видел и насколько помню.
Стадия 1. Примерно c Windows 3.1, более ранних я не видел. Обработка кнопки закрытия в NC ведется в приложении, в DefWindowProc. В ней формируется сообщения WM_CLOSE, оно посылается в очередь сообщений, откуда забирается циклом сообщений, и в обработчике приложение должно красиво все закрыть и вызвать PostQuitMessage. Если что зависало ждать можно было полминуты, может и больше, не помню.
Стадия 2. Примерно с Windows 98 (SE?). Обработка кнопки закрытия в NC остается в приложении, а снаружи навешивается таймер, который отслеживает попадание в очередь WM_CLOSE, и если прошло достаточно времени и приложение не завершило обработку WM_CLOSE, появляется запрос от системы "кажется, тут зависло, не срубить ли?". Вопрос появлялся емнип секунд через 10.
В этих стадиях, если приложение зависало, то повторное нажатие на кнопку закрытия визуально ее не нажимало, она оставалась в верхнем положении, что соответствует зависанию в приложении, в его обработчике WM_CLOSE.
Возможно где-то в конце жизни этой 2й стадии было дополнительное окно поверх и в тех же координататх, с целью получить другую кнопку закрытия, и получить от юзера сигнал нажатиями, что зависание никуда не делось. У меня в памяти эти окна сильно не отложились. Может эту фазу стоило бы оформить в списке как 3ю стадию, а то что у меня 3я как 4ю.
Стадия 3. Примерно с ХР (SP?). Обработка кнопки закрытия в NC выносится из приложения, сообщение WM_CLOSE теперь формируется не в приложении, но посылается в него, таймаут сокращен до 5-6 секунд, кнопка закрытия, если нажимать повторно, визуально нажимается каждый раз. И теперь если ее нажимать часто, то даже до истечения таймаута можно раньше получить сообщение "похоже зависло". Окна-фантома нет. Т.е. это то как сейчас, по крайней мере я такого окна давно уже не видел.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39909020
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
Неважно как оно реализовано внутри, важно что программист под SQL почти не задумывается о синхронизации данных.
естественно, потому что SQL - это функциональный язык

Вот и возьмите функциональный язык. Например, пишите на хаскеле, всё будет из каропки
правда, как освоите как сделать простейшие действия
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39909758
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то топик переродился в разговор обо всём и ни о чём, так мне кажется.
Думаю, пора закрывать эту лавочку.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39909831
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,
Она изначально была такая. Кому интересна кнопочка закрытия окна. Закрывает и ладно.
...
Рейтинг: 0 / 0
MS Windows: кнопка Close блокирует GUI
    #39909840
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да можно закрыть. Тут давно не по теме всё.
...
Рейтинг: 0 / 0
6 сообщений из 156, страница 7 из 7
Форумы / C++ [игнор отключен] [закрыт для гостей] / MS Windows: кнопка Close блокирует GUI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]