Рисование вне экрана?
Не могу побороть. Хочу нарисовать все в одном CDC, а потом махом выкинуть в активный. Только пожалуйста: не приводите пример с рисованием через BMP (LoadImage и т.д.). Просто в memoryCDC рисуем кучу примитивов, а как их выкинуть в окно (в pDC). Заранее благодарен.
Цитата:
Originally posted by YuKo
Не могу побороть. Хочу нарисовать все в одном CDC, а потом махом выкинуть в активный. Только пожалуйста: не приводите пример с рисованием через BMP (LoadImage и т.д.). Просто в memoryCDC рисуем кучу примитивов, а как их выкинуть в окно (в pDC). Заранее благодарен.
Не могу побороть. Хочу нарисовать все в одном CDC, а потом махом выкинуть в активный. Только пожалуйста: не приводите пример с рисованием через BMP (LoadImage и т.д.). Просто в memoryCDC рисуем кучу примитивов, а как их выкинуть в окно (в pDC). Заранее благодарен.
Сначала создаеш memoryDC из текущего CDC. Рисуеш все что нужно на memoryDC. Потом копируешь все из memoryDC на CDC посредством функции CDC::BitBlt. Толково это сделать в деструкторе memoryDC. Если нужно, могу заслать кусок кода.
Цитата:
Originally posted by koks
Сначала создаеш memoryDC из текущего CDC. Рисуеш все что нужно на memoryDC. Потом копируешь все из memoryDC на CDC посредством функции CDC::BitBlt. Толково это сделать в деструкторе memoryDC. Если нужно, могу заслать кусок кода.
Сначала создаеш memoryDC из текущего CDC. Рисуеш все что нужно на memoryDC. Потом копируешь все из memoryDC на CDC посредством функции CDC::BitBlt. Толково это сделать в деструкторе memoryDC. Если нужно, могу заслать кусок кода.
Спасибо. Если можно - код. Пробовал и через BitBlt. Если сначала гружу BMP - все нормально. А просто порисовал и выбросил - не получилось.
void CMyView::OnDraw(CDC* pDC)
{
CMemDC memDC(pDC);
//дальше собственно рисуем все что нужно,
//только используем memDC
}
Высылаю класс CMemDC, по сети их валяется кучами, можешь посмотреть другие. В моем примере основная идея в том, что когда переменная memDC уничтожается, все содержимое копируется на pDC.
Помоему файл не отправился, попробуем еще раз