Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с перерисовкой 
:(
    Опции темы
Darked
Дата 30.3.2005, 06:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 26.2.2004
Где: Южный Урал

Репутация: нет
Всего: нет



Доброе врея суток.
Столкнулся с такой вещью. Пишу на WTL. Есть контрол CTabCtrl, в нем 3 вкладки. При переключении на последнюю вкладку должен появляться диаложек. На этом диложке находятся 2 контрола: CStatiс и CButton, плюс еще я рисую градиентнозакрашенный прямоугольник функцией SetPixel. Так вот суть проблемы в том, что когда открываю вкладку все прорисовываеся, но если вкладка перекрывается каким-нибудь окном, но все перерисовывается, а нарисованный мною прямоугольник нет, т.е. часть прямоугольника закрытая окном не перерисовывается. Вот и хочетя узнать как это побароть.
Появдяющийся диалог на вкладке это класс наследуемый от CDialogImpl, у него я переопределяю обработчик onPaint(), в котором вызываю функцию рисования цветного прямоугольника drawColRect().
Код

void CClass::drawColRect()
{
  RECT rcClient;
  CDC m_CDC;
  
  GetClientRect(&rcClient);
  m_CDC.m_hDC = ::GetDC((CWindow)m_MyDialog));
  ATLASSERT(m_CDC.mhDC);
  if(m_CDC.mhDC)
     {
    .... // отрисовка прямоугольника
     {
   ReleaseDC(m_CDC.m_hDC);
}
...
LRESULT CClass::OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)   // пишу по памяти, могу и ошибаться
{
  ::DefWindowProc(m_MyDialog.m_hWnd, uMsg, wParam, lParam);
  drawColRect();
  
  return 0;
}



--------------------
Veni, Vidi, Vici !!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0400 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.