Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Перерисовка диалога


Автор: Allest 27.5.2003, 10:40
При изменении размеров диалога закрашивает мой рисунок цветом фона диалога

Пробовал перерисовывать когда
WM_CTLCOLORDLG
WM_PAINT
WM_ERASEBKGND
не помогает

Как мне в диалоге нарисовать картинку, чтобы она не стиралась?

Автор: Guest_Alx 27.5.2003, 10:45
рисовать например в OnDraw()

Автор: kruchinin 28.5.2003, 18:19
Вызови при изменении размеров InvalidateRect.

Автор: Allest 29.5.2003, 12:05
С InvalidateRect очень мерцает.

Окно диалога принадлежит окну Rebar. Видимо в этом дело. Rebar правильно перерисовывает любые стандартные контролы, кроме диалогов. А почему?

Автор: Allest 30.5.2003, 16:23
Заработало...

На сообщение WM_ERASEBKGND возвращаю TRUE и только;
На сообщение WM_PAINT вызываю InvalidateRect и рисую;
К окну Rebar добавил стиль WS_CLIPCHILDREN;
А к стилю полоски с диалогом добавил RBBS_FIXEDBMP;

ps всем спасибо естественно

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)