Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: CWnd::OnSizing  (Прочитано 5640 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Tuborg
Команда клуба

ee
Offline Offline

« : 13-09-2007 10:42 » 

Отлавливаю сообщение WM_SIZING. В обработчике соответственно меняю масштабы дочерних элементов и дочерних окошек. Выглядит всё это не совсем красиво. При изменении размера всё внутри формы моргает... иногда перерисовывается, иногда остаётся стёртым. На момент WM_SIZE вся становится нормальным.

Добрые люди, подскажите что делать чтоб убрать это мерцание?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 13-09-2007 11:03 » 

Tuborg, попробуй оставить только WM_SIZE или же сделать вызов процедуры масштабирования из WM_SIZING дискретным - например не чаще , чем раз в 500 мс.

Я мерцание так и не победил, моргает фон главного окна
« Последнее редактирование: 13-09-2007 11:12 от Алексей1153++ » Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #2 : 13-09-2007 11:08 » 

например так, если дело происходит в единственном экземпляре этого класса
Если экземпляр не один, то m_dwdTormoz нужно сделать членом класса
Код:
//обработчик сообщения, которое надо "дискретизировать"

{
static DWORD m_dwdTormoz=0;
enum
{
e_dwdTormoz=500
};

//смотрим, можно ли снова вызвать ресайзинг
DWORD dwdCurrTime=GetTickCount();
if(dwdCurrTime>(m_dwdTormoz+e_dwdTormoz))
{
m_dwdTormoz=dwdCurrTime;

//вызов ресайзинга
}

//...
}
« Последнее редактирование: 13-09-2007 11:11 от Алексей1153++ » Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines