<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2995" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hola </FONT></DIV>
<DIV><FONT face=Arial size=2>tengo un problema de impresion que detallo -
trabajo con MFC VC 6.0 ++ MS Wxp -:</FONT></DIV>
<DIV><FONT face=Arial size=2>imprimo dos hojas la primera, se imprime
correctamente. La segunda se imprime mal , no aparece los encabezados que
corresponde al membrete, identificación de orden y planilla de mecanizado,
tambien los detalles de la planilla de mecanizado - item, nom. Pieza, Cod.
Pieza, etc, etc no salen bien encolumnados como en la
primera impresion.</FONT></DIV>
<DIV><FONT face=Arial size=2>Ademas en presentación preliminar cuando tomo
alguna accion de acercar o alejar o ver una sola pagina, desaparece el contenido
</FONT></DIV>
<DIV><FONT face=Arial size=2>No se que ocasiona este error, mas abajo adjunto el
codigo; para cualquir comentario.</FONT></DIV>
<DIV><FONT face=Arial size=2>Muchas gracias</FONT></DIV>
<DIV><FONT face=Arial size=2>Dario</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>void CMetalurgicaView::OnPrint(CDC* pDC,
CPrintInfo* pInfo) <BR>{</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> pDC->SetMapMode(MM_LOMETRIC);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> CFont fntMainTitle, fntSubTitle,
<BR> fntSectTitle, fntLabel, fntResult;<BR> int left = 15, top =
-10;<BR> TEXTMETRIC tm;<BR> CPen penLine2, penLine1;<BR> CBrush
brsGray;</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>/////////MEMBRETE<BR> VERIFY(fntMainTitle.CreateFont(110, 0, 0, 0,
FW_BOLD,<BR> FALSE, FALSE, 0,
ANSI_CHARSET,<BR> OUT_DEFAULT_PRECIS,<BR> CLIP_DEFAULT_PRECIS,<BR> DEFAULT_QUALITY,<BR> DEFAULT_PITCH
| FF_SWISS,<BR> TEXT("Times New Roman")));<BR> CFont
*fntDefault =
pDC->SelectObject(&fntMainTitle);<BR> pDC->GetTextMetrics(&tm);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> pDC->SetTextColor(RGB(0, 0,
0));<BR> pDC->SetBkMode(TRANSPARENT);<BR> pDC->SetTextCharacterExtra(1);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> pDC->TextOut(left, -top, TEXT("Metalúrgica
Bell"));</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> VERIFY(fntLabel.CreateFont(60, 0, 0, 0,
FW_BOLD,<BR> FALSE, FALSE, 0,
ANSI_CHARSET,<BR> OUT_DEFAULT_PRECIS,<BR> CLIP_DEFAULT_PRECIS,<BR> DEFAULT_QUALITY,<BR> DEFAULT_PITCH
| FF_SWISS,<BR> TEXT("Times New Roman")));</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> fntDefault =
pDC->SelectObject(&fntLabel);<BR> pDC->TextOut(left, -top-120,
TEXT("xx"));</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> top = top + tm.tmHeight;</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2><BR> pDC->SetTextCharacterExtra(4);<BR> VERIFY(fntSubTitle.CreateFont(100,
0, 0, 0, FW_BOLD,<BR> FALSE, FALSE, 0,
ANSI_CHARSET,<BR> OUT_DEFAULT_PRECIS,<BR> CLIP_DEFAULT_PRECIS,<BR> DEFAULT_QUALITY,<BR> DEFAULT_PITCH
| FF_SWISS,<BR> TEXT("Times New
Roman")));<BR> fntDefault =
pDC->SelectObject(&fntSubTitle);<BR> pDC->TextOut(140, -top-90,
TEXT("Orden de Mecanizado"));</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> penLine2.CreatePen(PS_SOLID, 2, RGB(0, 0,
0));<BR> CPen *penOld = pDC->SelectObject(&penLine2);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> pDC->MoveTo(10, -tm.tmHeight -
200);<BR> pDC->LineTo(4000, -tm.tmHeight - 200);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>//////fin de membrete</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> VERIFY(fntSectTitle.CreateFont(84, 0, 0, 0,
FW_BOLD,<BR> FALSE, FALSE, 0,
ANSI_CHARSET,<BR> OUT_DEFAULT_PRECIS,<BR> CLIP_DEFAULT_PRECIS,<BR> DEFAULT_QUALITY,<BR> DEFAULT_PITCH
| FF_SWISS,<BR> TEXT("Verdana")));</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> penLine1.CreatePen(PS_SOLID, 1, RGB(0, 0,
0));<BR> penOld = pDC->SelectObject(&penLine1);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> brsGray.CreateSolidBrush(RGB(128, 128,
128));<BR> CBrush *oldBrush =
pDC->SelectObject(&brsGray);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>/////////////IDENTIFICACION DE LA
ORDEN<BR> pDC->Rectangle(30, -350, 1400, -450);<BR> fntDefault =
pDC->SelectObject(&fntSectTitle);<BR> pDC->SetTextColor(RGB(255,
255, 255));<BR> pDC->TextOut(40, -360, TEXT("Identificación de
Orden"));</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> VERIFY(fntResult.CreateFont(60, 0, 0, 0,
FW_NORMAL,<BR> FALSE, FALSE, 0,
ANSI_CHARSET,<BR> OUT_DEFAULT_PRECIS,<BR> CLIP_DEFAULT_PRECIS,<BR> DEFAULT_QUALITY,<BR> DEFAULT_PITCH
| FF_SWISS,<BR> TEXT("Times New
Roman")));<BR> <BR> CFile
archivo(Nombre,CFile::modeRead);</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2> registroempresa *reg=new
registroempresa;<BR> archivo.SeekToBegin();<BR> archivo.Read(reg,sizeof(registroempresa));</FONT></DIV>
<DIV> </DIV><FONT face=Arial size=2>
<DIV><BR> pDC->SetTextColor(RGB(0, 0, 0));<BR> fntDefault =
pDC->SelectObject(&fntLabel);<BR> pDC->TextOut(40, -465,
TEXT("Nombre de Empresa: "));<BR> pDC->TextOut(800, -465,
reg->empresa);<BR> pDC->TextOut(40, -515,
TEXT("Domicilio:"));<BR> pDC->TextOut(800, -515,
reg->domicilio);<BR> pDC->TextOut(40, -565,
TEXT("IVA:"));<BR> if(reg->iva==0)<BR> {<BR> pDC->TextOut(800,
-565, "Responsable
Inscripto");<BR> }else{<BR> pDC->TextOut(800, -565,
"Responsable No Inscripto");<BR> }<BR>/////fin identificacion de
orden</DIV>
<DIV> </DIV>
<DIV><BR>///////////PLANILLA DE MECANIZADO<BR> pDC->Rectangle(30, -650,
1400, -750);<BR> pDC->SetTextColor(RGB(255, 255,
255));<BR> fntDefault =
pDC->SelectObject(&fntSectTitle);<BR> pDC->TextOut(40, -660,
TEXT("Planilla de Mecanizado"));</DIV>
<DIV> </DIV>
<DIV> ///encabezado de las
columnas<BR> pDC->SetTextColor(RGB(0,0,0));<BR> fntDefault =
pDC->SelectObject(&fntLabel);<BR> pDC->TextOut(30, -750,
TEXT("Item"));<BR> pDC->TextOut(250, -750, TEXT("Nom.
Pieza"));<BR> pDC->TextOut(720, -750, TEXT("Cod.
Pieza"));<BR> pDC->TextOut(1200, -750, TEXT("$
Unit."));<BR> pDC->TextOut(1500, -750, TEXT("Minuto de
Trabajo"));<BR> pDC->TextOut(2100, -750,
TEXT("Cantidad"));<BR> pDC->TextOut(2600, -750,
TEXT("Sub-Total"));</DIV>
<DIV> </DIV>
<DIV> ///Linea de encabezado de columnas<BR> pDC->MoveTo(30,
-800);<BR> pDC->LineTo(4000, -800);<BR> <BR> CString
numero;<BR> int i =805;<BR> float total=0;<BR> int
item=1;<BR> int
pos=0;<BR> <BR> <BR> //////registros<BR> archivo.SeekToBegin();<BR>/* if(posicionleida!=0)<BR> {<BR> archivo.Seek(posicionleida,CFile::begin);<BR> pos=posicionleida;<BR> if(pInfo->m_nCurPage==cantidadderegistros)<BR> {<BR> imprimirpiedepagina=true;<BR> }<BR> }<BR>*/<BR> while(i<1660&&pos<archivo.GetLength())<BR> //while(pos<archivo.GetLength())<BR> {</DIV>
<DIV> </DIV>
<DIV> archivo.Read(reg,sizeof(registroempresa));<BR> pDC->SetTextAlign(TA_RIGHT);<BR> fntDefault
=
pDC->SelectObject(&fntResult);<BR> numero.Format("%i",item);<BR> pDC->TextOut(100,
-i, TEXT(numero));<BR> fntDefault =
pDC->SelectObject(&fntLabel);<BR> fntDefault =
pDC->SelectObject(&fntResult);<BR> <BR> //Nombre de
la Pieza<BR> pDC->TextOut(360, -i,
TEXT(reg->nombrepieza));</DIV>
<DIV> </DIV>
<DIV> //codiga de pieza<BR> pDC->TextOut(890, -i,
TEXT(reg->codigopieza));</DIV>
<DIV> </DIV>
<DIV> //$ Unuitario<BR> numero.Format("%.3f",
reg->preciohora/60);<BR> pDC->TextOut( 1350, -i,
TEXT(numero));</DIV>
<DIV> </DIV>
<DIV> //Minuto de trabajo de la
pìeza<BR> numero.Format("%.2f",reg->minutotrabajo);<BR> pDC->TextOut(
1650, -i, TEXT(numero));</DIV>
<DIV> </DIV>
<DIV> //cantidad<BR> numero.Format("%i",reg->cantidad);<BR> pDC->TextOut(
2200, -i,
TEXT(numero));<BR> <BR> //totalparcial<BR> total=total+(reg->cantidad*reg->minutotrabajo*(reg->preciohora/60));<BR> numero.Format("%.3f",
reg->cantidad*reg->minutotrabajo*(reg->preciohora/60));<BR> pDC->TextOut(2800,
-i,
TEXT(numero));<BR> <BR> i+=50;<BR> item++;<BR> <BR> pos+=sizeof(registroempresa);<BR> posicionleida=archivo.GetPosition();<BR> archivo.Seek(pos,CFile::begin);</DIV>
<DIV> </DIV>
<DIV><BR> }</DIV>
<DIV> </DIV>
<DIV> delete reg;<BR> archivo.Close();</DIV>
<DIV> </DIV>
<DIV>//////////total de
mecanizado<BR> if(imprimirpiedepagina)<BR> {<BR> pDC->SetTextCharacterExtra(0);<BR> pDC->SetTextColor(RGB(255,255,255));<BR> pDC->SetTextAlign(TA_LEFT);<BR> fntDefault
=
pDC->SelectObject(&fntSectTitle);<BR> pDC->SetTextAlign(TA_RIGHT);<BR> pDC->Rectangle(950,
-i-70, 2850, -i-190);<BR> pDC->TextOut(1880, -i-80, TEXT("Total de
Mecanizado :
$"));<BR> numero.Format("%.3f",total);<BR> pDC->TextOut(2780,
-i-80, TEXT(numero));<BR> <BR> }</DIV>
<DIV> </DIV>
<DIV>//////linea pie de
pagina<BR> <BR> numero.Format("%i",
pInfo->m_nCurPage);<BR> pDC->SetTextColor(RGB(0,0,0));<BR> pDC->MoveTo(30,
-1900);<BR> pDC->LineTo(4000,
-1900);<BR> pDC->TextOut(2700, -1950, TEXT("Pagina
Nº:"+numero));</DIV>
<DIV> </DIV>
<DIV><BR> pDC->SelectObject(fntDefault);<BR> pDC->SelectObject(penOld); <BR> <BR> CView::OnPrint(pDC,
pInfo);<BR> <BR>}</FONT></DIV></BODY></HTML>