Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Перерисовка: часть 2

7.1K
13 февраля 2006 года
Dunkel
33 / / 16.11.2005
Возникла следующая задача: нужно перерисовать определенную прямоугольную область на форме. Делаю так:
 
Код:
tagPOINT P[5];  
  //заполнение массива P
  ...
  RECT R;
  R.left=P[0].x-10; R.top=P[0].y-29;
  R.right=P[2].x+8; R.bottom=P[2].y+27;
  InvalidateRect(hWnd,&R,false);
  UpdateWindow(hWnd);


Но желаемый результат не достигается. В чем проблема ?
1.9K
14 февраля 2006 года
Borland_prog
149 / / 25.01.2006
Цитата:
Originally posted by Dunkel
Возникла следующая задача: нужно перерисовать определенную прямоугольную область на форме. Делаю так:
 
Код:
tagPOINT P[5];  
  //заполнение массива P
  ...
  RECT R;
  R.left=P[0].x-10; R.top=P[0].y-29;
  R.right=P[2].x+8; R.bottom=P[2].y+27;
  InvalidateRect(hWnd,&R,false);
  UpdateWindow(hWnd);


Но желаемый результат не достигается. В чем проблема ?



Тут фишка в чем:
Если после твоего происходит выход из процедуры то все путем
а если нет то обновления не будет так как обновление может произойти только в WNDPROC когда последняя получит сообщение wm_paint и обработает его

Выход есть: создай отдельный поток для обновления указанной области

А зачем UpdateWindow(hWnd)
сама функция InvalidateRect(hWnd,&R,false) посылает сообщение WM_PAINT окну hWnd.

7.1K
14 февраля 2006 года
Dunkel
33 / / 16.11.2005
Цитата:
Originally posted by Borland_prog
Тут фишка в чем:
Если после твоего происходит выход из процедуры то все путем
а если нет то обновления не будет так как обновление может произойти только в WNDPROC когда последняя получит сообщение wm_paint и обработает его

Выход есть: создай отдельный поток для обновления указанной области

А зачем UpdateWindow(hWnd)
сама функция InvalidateRect(hWnd,&R,false) посылает сообщение WM_PAINT окну hWnd.



Проблема решилась простой заменой последнего параметра функции InvalidateRect на TRUE.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог