Посоветуйте, пожалуйста - что здесь неправильно.
Создаем графический контекст на основе имеющегося.
Рисуем в нем линию, копируем контекст обратно в исходный.
Ничего не рисуется в итоге.
Почему ?
void
CMyView
::OnDraw( CDC* pDC ) {
CDC memDC;
memDC.CreateCompatibleDC( pDC );
memDC.MoveTo( 0, 0 );
memDC.LineTo( 200, 200 );
pDC->BitBlt( 0, 0, 200, 200, &memDC, 0, 0, SRCCOPY );
}
Проблема с копированием графического контекста
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
По умолчания графический контекст создается размером 1X1 писксель (или даже 0X0 ну не важно). Для определения его размеров необходимо селектнуть туда битмапину -
Код: Выделить всё
void
CMyView
::OnDraw( CDC* pDC ) {
CDC memDC;
CBitmap bmp;
memDC.CreateCompatibleDC( pDC );
bmp.CreateCompetibleBitmap( pDC, 200, 200) // размер DC будет 100 X 100
memDC.SelectObject(bmp);
memDC.MoveTo( 0, 0 );
memDC.LineTo( 200, 200 );
pDC->BitBlt( 0, 0, 200, 200, &memDC, 0, 0, SRCCOPY );
}