Re[4]: Об изменении цвета фона окна "на лету".
От: korzhik Россия  
Дата: 22.03.04 12:08
Оценка:
Здравствуйте, <Аноним>, Вы писали:

K>>Кстати пример кода автора этой ветки у меня тоже нормально работает, что в принципе логично.


А>А у меня почему-то не работает .

А>Кстати, для какого объекта надо переопределять OnEraseBkgnd — я пробовал для главного окна и дочернего view?
А>Можно попросить ваш примерчик?

1. Создаю визардом MFC/SDI проект.
2. Переопределяю метод OnEraseBkgnd для моего класса представления производного от CView следующим образом:
BOOL CTestView::OnEraseBkgnd(CDC* pDC)
{
  CBrush backBrush(RGB(0, 128, 128));
  CBrush* pOldBrush = pDC->SelectObject(&backBrush);
  CRect rect;
  pDC->GetClipBox(&rect);    
  pDC->PatBlt(rect.left, rect.top, rect.Width(), rect.Height(), PATCOPY);
  pDC->SelectObject(pOldBrush);
  return TRUE;
}

Всё работает.
Попробуй сделать новый проект так же как я, посмотри будет ли работать.
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.