Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Borland C++ Builder/Turbo C++ Explorer > Как рисовать только рамку при изменении размеров окна? |
Автор: vlad2 09.11.20, 14:31 |
Как программно рисовать только рамку в процессе изменения размеров окна, как это происходит, если отключена опция Windows "Отображать содержимое окна при перетаскивании"? Обновлю окно только после окончания (WM_EXITSIZEMOVE). Спасибо. |
Автор: ЫукпШ 09.11.20, 23:46 |
Не совсем уверен, что правильно понял вопрос. Смотри сам, что тебе подойдёт из списка мероприятий: 1. Обработаем WM_ERASEBKGND, чтобы не было разных видео-эффектов. 2. Сделаем объект-таймер (или найдём готовый), который можно перезапускать. Нужно программно организовать "одновибратор с повторным запуском" 3. В обработчике WM_SIZE не будем запусать перерисовку окна для уведомления SIZE_RESTORED. Вместо этого для этого уведомления будем перезапускать одновибратор (сделанный на таймере). 4. Когда сработает таймер (WM_TIMER) остановим его. Запустим перерисовку окна. 5. Перерисовку окна будем запускать посредством InvalidateRect(...) Комфортная задержка таймера, на мой взгляд, 400-500[mc] Приблизительно так, но может что и забыл. |
Автор: vlad2 10.11.20, 11:13 |
Спасибо, ЫукпШ, вопрос решился сам собой: похоже, нежелательный эффект проявляется на удалённом столе, а непосредственно за рабочим компом всё работает, как надо. Вопрос закрываю. |