Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мерцание при перерисовке, Вопрос в догонку 
:(
    Опции темы
kometa_triatlon
  Дата 20.5.2005, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 384
Регистрация: 7.1.2005
Где: Киев

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



Здесь есть решение этой проблемы. Но как применить его, если у меня не OnDraw, а OnPaint? OnPaint не принимает параметра CDC* pDC.

В приложении нет архитектуры документ-вид, так что и класса представления нет, рисование производится в классе фрейма.

smile


--------------------
Всё очень просто: сказки обман,
Солнечный остров скрылся в туман,
Замков воздушных не носит земля,
Кто-то ошибся, ты или я.

--------------
Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым.
PM MAIL ICQ   Вверх
Dreamer_0x01
Дата 20.5.2005, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Терминатор
**


Профиль
Группа: Участник
Сообщений: 780
Регистрация: 14.4.2005
Где: Санкт-Петербург

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



Код

void TBOE_OKHO::OnPaint()
{

        CDC * pDCDest=GetDC();
        CDC dcMem;
        dcMem.CreateCompatibleDC(pDCDest);
        CBitmap *pPrevBmpMem=dcMem.GetCurrentBitmap();
        CRect rCl;
        GetClientRect(rCl);
        CBitmap BmpNewMem;
        BmpNewMem.CreateCompatibleBitmap(pDCDest, rCl.Width(), rCl.Height());
        dcMem.SelectObject(&BmpNewMem);
        dcMem.FillSolidRect(rCl, RGB(255,255,255)); 
        CDC *pDCTemp=pDCDest;
        pDCDest=&dcMem;



//рисуем в pDCDest, например
            pDCDest->LineTo(100,100);
//окончили рисовать

        pDCDest=pDCTemp;
        pDCDest->BitBlt(rCl.left, rCl.top, rCl.Width(), rCl.Height(), &dcMem,rCl.left, rCl.top, SRCCOPY);
        dcMem.SelectObject(pPrevBmpMem);

}





Для СFrame не пробовал, для CDialog работает ;)




--------------------
Нет ничего невозможного. Есть цели, и есть время и силы на их достижение.
PM ICQ   Вверх
kometa_triatlon
Дата 20.5.2005, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 384
Регистрация: 7.1.2005
Где: Киев

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



А весь прикол в CDC * pDCDest=GetDC(); smile


Цитата
Для СFrame не пробовал, для CDialog работает ;)

Не переживай работает smile
Спасибо


--------------------
Всё очень просто: сказки обман,
Солнечный остров скрылся в туман,
Замков воздушных не носит земля,
Кто-то ошибся, ты или я.

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


 




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


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

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