C/Visual C - Cómo imprimir un Bitmap en VC

 
Vista:

Cómo imprimir un Bitmap en VC

Publicado por Josep (29 intervenciones) el 16/02/2002 20:27:09
Hola a todos, estoy haciendo una aplicación con el VC++ y tengo un problema: no puedo imprimir un Bitmap. A ver si me podeis ayudar.

Mi aplicación utiliza diálogos y la impresión se hace manual (no utilizo el asistente y utilizo el CPrintDlg) pero el problema esta cuando quiero imprimir un bmp (que se encuentra en un recurso identificado por IDB_BMP_EMPRESA) que no lo imprime por impresora (pero por pantalla si)

Os pongo el código de la función para que sepáis de que hablo:

void CCercaAlbaraView::albara(CDC *pDC, int x, int y)
{
CBitmap bmpImagen;
bmpImagen.LoadBitmap(IDB_BMP_EMPRESA);

BITMAP bm;
bmpImagen.GetObject(sizeof(BITMAP),&bm);

CPoint size(bm.bmWidth,bm.bmHeight);
//CClientDC dc(this);
// Si activamos este dc imprimiria el bmp en el cuadro de
// diálogo
CDC dcMem, dc;
dcMem.CreateCompatibleDC(&dc);
dcMem.SelectObject(&bmpImagen);

pDC->SetMapMode(MM_LOMETRIC);
pDC->BitBlt(x, y-150, size.x, size.y, &dcMem, 0,0,SRCCOPY);
}

Os indico que he intentado modificar el dc (del tipo CDC) y hacerlo con un CDC pero de impresora a igual que el (pDC). Es decir, que he creado otro CDC como el que se pasa por parámetro para que al llamar a la función CreateCompatibleDC se compatibilice con un CDC de impresora y no de pantalla, pero el experimento no funciono (lei de Murphy o no)

Espero que me podáis ayudar, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder