<!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>