powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / мерцание при перерисовке ATL ActiveX-контрола
3 сообщений из 3, страница 1 из 1
мерцание при перерисовке ATL ActiveX-контрола
    #32657949
vible
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пложалуйста, в чем проблема.
Создаю ATL FullControl, обрабатываю, например, наезд и съезд мыши и рисую на контроле. Далее загоняю его или в VB или в ActiveXControlTestContainer, не важно. И когда навожу или убираю с контрола мышь, заметно мерцание при отрисоке. Рисую я по OnDraw, при создании котнтрола выбрал Normalized DC.

Пробовал создавать CompatibleDC, рисовал на нем, потом вызывал BitBlt, странно, но результата не дало, даже показалось "блыманье" усилилось (хотя в VB работает отлично, никаких мерцаний). Может, для этого не надо выбирать Normalized DC&

Когда создаю ActiveX С помощью MFC - все нормально, никаких мерцаний.
...
Рейтинг: 0 / 0
мерцание при перерисовке ATL ActiveX-контрола
    #32658738
Джек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо добавить обработку сообщения WM_ERASEBKGND.
В объявлении класса:
BEGIN_MSG_MAP(CAnyClass)
...
...
...
MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBkgnd)
END_MSG_MAP()
...
...
...
LRESULT OnEraseBkgnd(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);



В реализации класса:
LRESULT CGr::OnEraseBkgnd(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
return 1;
}
...
Рейтинг: 0 / 0
мерцание при перерисовке ATL ActiveX-контрола
    #32660207
vible
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, все работает отлично! Классный форум
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / мерцание при перерисовке ATL ActiveX-контрола
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]