Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2008, 00:26   #1
zaqer
Новичок
Джуниор
 
Регистрация: 09.03.2008
Сообщений: 2
По умолчанию Мерцание окна при изменении размера

При изменении размеров окна клиентская область мерцает, как исправить? Обробатываю сообщение WM_SIZE:
;=====================
.IF uMsg==WM_SIZE ;
push offset rect ;
push hWnd ;
call GetClientRect ;Получение клиентских координат окна
push offset rect ;
push hWnd ;
call ResizeWin ;Вызов функции-обработчика
;=====================
Если кто знает помогите плз., заранее благодарен
zaqer вне форума Ответить с цитированием
Старый 18.07.2008, 10:01   #2
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

Поймать мерцание можно сообщением WM_ERASEBKGND, ну и там как-нибудь отрисовывать контролы сначало на буфере а потом их выводить на форму.
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 30.07.2008, 23:39   #3
DearHunter
Пользователь
 
Регистрация: 30.07.2008
Сообщений: 14
По умолчанию

Есть несколько способов предотвратить мерцание окон:
  • Буферизованный вывод,
  • Использование WM_SETREDRAW
  • Использование LockWindowUpdate
Наиболее прогрессивный - первый, однако он требует дополнительного кода. Второй способ - не менее хорош, в Вашем случае можно отправлять текущему окну сообщение WM_SETREDRAW с флагом False перед изменением размера WM_SETREDRAW с флагом True по окончании.
DearHunter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Размер окна в зависимости от размера окна Reverent JavaScript, Ajax 1 02.02.2008 15:49
мерцание shad0w Общие вопросы C/C++ 3 11.12.2007 12:31
закрыть все дочерни окна, кроме главного окна Worms Общие вопросы Delphi 2 03.12.2007 22:18
Как сделать чтобы дочерние окна в MDI-приложениях были вне главного окна??? dimonchuk Общие вопросы Delphi 1 11.08.2007 12:13
при изменении размера формы, все компоненты на ней оставались на своих местах ***СкаЙ*** Помощь студентам 15 13.06.2007 11:13