OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 15:36

Часовой пояс: UTC + 3 часа




Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Фикс ресайза окон
СообщениеДобавлено: Понедельник, 06 Июнь, 2011 10:02 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Думаю многие заметили, что в BlackBox окна перерисовываются только при растяжении окна. А при уменьшении размеров перерисовка происходит только в момент отпускания кнопки мыши.

Фикс включающий репайнт при любых изменениях размера выделен красным


Вложения:
Фикс ресайза.png
Фикс ресайза.png [ 76.47 КБ | Просмотров: 14026 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фикс ресайза окон
СообщениеДобавлено: Понедельник, 06 Июнь, 2011 22:55 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
ilovb писал(а):
в BlackBox окна перерисовываются только при растяжении окна. А при уменьшении размеров перерисовка происходит только в момент отпускания кнопки мыши.

Фикс включающий репайнт при любых изменениях размера выделен красным
А как выключить перерисовку при растяжении? :)
Раз уж Вы въехали в предмет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фикс ресайза окон
СообщениеДобавлено: Вторник, 07 Июнь, 2011 08:31 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
А вы представляете себе как ужасно это будет выглядеть?

На сколько я понял логику винапи, в стародавние времена разработчики ориентировались на статическое содержимое окон. В итоге уменьшение окна не приводит к невалидности содержимого (оно просто обрезается границами окна). И достаточно только дорисовать скроллбары. А вот растяжение открывает скрытые участки содержимого, т.е. окно становится невалидным.

Для динамического содержимого нужно перерисовывать всегда.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фикс ресайза окон
СообщениеДобавлено: Вторник, 07 Июнь, 2011 09:17 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
всё работает.
один момент - текст с картинки копировать неудобно ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фикс ресайза окон
СообщениеДобавлено: Среда, 06 Ноябрь, 2013 16:48 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Info21 писал(а):
А как выключить перерисовку при растяжении?
В настройках системы. Для XP --- свойства системы, дополнительно, быстродействие, параметры; закладка "визуальные эффекты", галка "отображать содержимое окна при перетаскивании". Для 7-ки в классической шкуре, кажется, тоже есть; про другие шкуры не знаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фикс ресайза окон
СообщениеДобавлено: Среда, 06 Ноябрь, 2013 17:04 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
ilovb писал(а):
На сколько я понял логику винапи, в стародавние времена разработчики ориентировались на статическое содержимое окон. В итоге уменьшение окна не приводит к невалидности содержимого (оно просто обрезается границами окна). И достаточно только дорисовать скроллбары. А вот растяжение открывает скрытые участки содержимого, т.е. окно становится невалидным.

Для динамического содержимого нужно перерисовывать всегда.
Для текстов в которых ширина документа по размеру листа, а не размеру окна, содержимое окна и есть статическое. Полная перерисовка при увеличении не нужна.

А много ли документов, в которых она требуется? (сам этого не вижу, потому что у меня при изменении размера перерисовывается только рамка)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фикс ресайза окон
СообщениеДобавлено: Среда, 06 Ноябрь, 2013 18:34 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Евгений Темиргалеев писал(а):
Для текстов в которых ширина документа по размеру листа, а не размеру окна, содержимое окна и есть статическое. Полная перерисовка при увеличении не нужна.

А много ли документов, в которых она требуется? (сам этого не вижу, потому что у меня при изменении размера перерисовывается только рамка)

Ну на мой взгляд перерисовка должна быть всегда для графики (типа графиков Ивана).
Для документов по размеру листа действительно не нужно. Но лично я всегда документы ставлю под размер окна.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фикс ресайза окон
СообщениеДобавлено: Среда, 06 Ноябрь, 2013 19:01 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Кстати, какие есть возражения против того, чтобы написать просто в стиле оригинала?

class.style := {0, 1, 3, 5} (* vredraw, hredraw, doubleclicks, privat dc *)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фикс ресайза окон
СообщениеДобавлено: Среда, 06 Ноябрь, 2013 19:16 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Никаких. Так даже кошернее.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Форум закрыт Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB