PDA

Просмотр полной версии : Проблема с копированием графического контекста



vadim_vk
15.03.2004, 15:08
Посоветуйте, пожалуйста - что здесь неправильно.
Создаем графический контекст на основе имеющегося.
Рисуем в нем линию, копируем контекст обратно в исходный.
Ничего не рисуется в итоге.
Почему ?

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
18.03.2004, 15:42
По умолчания графический контекст создается размером 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 );
}