Re: Перерисовка окна в ActiveX
От: uinet  
Дата: 04.12.03 17:10
Оценка:
Здравствуйте, Naimit, Вы писали:

N>ActiveX создан с помощью ATL.

N>В функции вызываемой по таймеру я хочу перерисовывать часть окна (код),

N>
N>        RECT re;
N>        GetClientRect(&re);
N>        CRect rect(re); 
N>        HRESULT hr = InvalidateRect(NULL, TRUE);
N>        if ( hr != S_OK ) ....;
N>        else ....;
N>

N>Получаю всегда только hr!=0, и перерисовывает он всё окно.
N>Если кто сталкивался или знает, отзовитесь.

В данном случае в InvalidateRect надо не NULL передавать, а указатель на re. А NULL говорит о том, что надо всю клиентскую область обновить.
И InvalidateRect не HRESULT возвращает, а BOOL.
Всё в MSDN написано.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.