Подписаться на блог
В Твиттере

Реплики и ссылки на заметки

В Фейсбуке

Ссылки на заметки

Вконтакте

Ссылки на заметки

В Телеграме

Ссылки на заметки

В Тумблере

Заметки целиком

В Же-же

Заметки целиком

По РСС

Заметки целиком

Если что-то из этого не работает, напишите мне: ilyabirman@ilyabirman.ru.

Подход Microsoft

Вот этот пример наглядно иллюстрирует подход Microsoft.

Ясно ведь, что написанное там никак не оправдывает их. Ведь они сами сделали такую операционную систему, в которой:
  • Окно может завинуть
  • Зависнувшее окно не может быть развёрнуто мгновенно
  • Сам explorer может зависнуть, если будет ждать, пока зависнувшее окно будет разворачиваться
Поэтому, конечно, они ничего теперь не могут с этим поделать, и приходится реализовывать Show Desktop таким, какой он есть.

Надо будет запомнить эту фразу, «Because the alternative is even worse», ага.
Подписаться на блог
Поделиться
Отправить
4 комментария
Drooling
А вот такой вопрос (следуя треду у Рэймонда) — как виндоуменеджер сможет нарисовать окошко с нестандартным бордюром (think media-player). Как насчет окон с меняющейся формой?
Павел Урусов
В Windows приложение занимается отрисовкой только клиентской области окна. Если у окна нестандартная граница, это означает, что стандартная граница сделана невидимой, а приложение берёт на себя функции диспетчера окон и рисует бордюр самостоятельно в  клиентской области. Это же касается и окон вычурной формы.

Лично я считаю, что окна нестандартной формы вообще не нужны. Лучше иметь стабильный, быстрый и безглючный диспетчер окон, пусть даже без возможности творить всякие безобразия...
Илья Бирман
Нет, ну развлечения-то тоже нужны. Но ведь тут суть в том, что даже если все открытые у тебя окна — стандартные, то всё равно глюк возможен.
Павел Урусов
Илья, вообще я обращался не к тебе, а к предыдущему оратору :)

З. Ы. А что, какой-нибудь Winamp или Sonique начнёт хуже играть, если у него будет стандартное окно?
Shade
1. «окно зависает» когда оно или не возвращается из обработчика wm_paint, или вообще перестаёт реагировать на какие-либо сообщения. в «оконной» идеологии оно именно так и делается. :)

2. ну тогда нужно выбирать: либо операционка отрисовывает всё за всех и тогда прощайте все нестандартности, либо всё-таки окошки сами заботятся о своей отрисовке и имеют возможность успешно подвиснуть на этом этапе. не из-за операционки, а из-за своей такой вот работы.

3. а что, лучше эксплореру плодить потоки, дожидающиеся отрисовки каждого окна, а потом дожидаться их синхронизации и восстанавливать порядок?.. или же всё-таки обойти их всех, послать сообщение на восстановление и спокойно продолжать работу. это же windows. окна и сообщения. рассылаем сообщения окнам, а уж когда они соблаговолят отработать по сообщениями — это их дело.

и вообще, что, лучше как в линуксе — сидеть под тормозными, но трудноубиваемыми иксами?.. :)

Пользовательский интерфейс
Доступен первый раздел
электронного учебника

Популярное