drucken



  • also ich habe eine sdi geschrieben, die eine inventarliste beinhält. dies funktioniert auch soweit, nur bei der druckfunktion bleib ich hängen

    void CListeView::OnPrint(CDC* pDC, CPrintInfo* /*pInfo*/)
    {
    	// ZU ERLEDIGEN: Benutzerdefinierten Code zum Ausdrucken hier einfügen
    
    	int x=0;
    	int y=0;
    	int zeile=0;
    	CString Str;
    	CListeDoc* lDoc = GetDocument();
    
    	if(lDoc)
    	{
    				//Neuen Schriftstil erzeugen
    				CFont fnSmall;
    				fnSmall.CreateFont(80,0,0,0,FW_HEAVY,FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
    CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_SWISS+VARIABLE_PITCH,"Arial");
    
    				//Neuen Stil auswählen & original speichern
    				CFont* lOldFont = pDC->SelectObject(&fnSmall);
    
    				//Den ersten Datensatz aus dem Dokument holen
    				m_lCurElement = lDoc->GetFirstRecord();
    
    				//Kopfzeile
    				kopfzeile(pDC);
    
    				for(x = 1; x <= (lDoc->GetTotalRecords()+1); x++ )
    				{	
    					if(m_lCurElement)
    					{
    
    							zeile = x*100;	// nächste zeile
    
    							Str.Format("%i",x);		//Nummerierung muss string sein
    													//Ausgabe
    							pDC->TextOut(000,zeile,Str); 
    							pDC->TextOut(115,zeile,"|");
    							pDC->TextOut(210,zeile,m_lCurElement->GetBenutzer());
    							pDC->TextOut(600,zeile,"|");
    							pDC->TextOut(650,zeile,m_lCurElement->GetGeraetebezeichnung());
    							pDC->TextOut(1400,zeile,"|");
    							pDC->TextOut(1460,zeile,m_lCurElement->GetSeriennummer());
    							pDC->TextOut(2050,zeile,"|");
    							pDC->TextOut(2100,zeile,m_lCurElement->GetVerwendungszweck());
    							pDC->TextOut(2900,zeile,"|");
    							pDC->TextOut(2950,zeile,m_lCurElement->GetAnschaffungsjahr());
    							pDC->TextOut(3650,zeile,"|");
    					}	
    					//Den nächsten Datensatz aus dem Dokument holen
    					m_lCurElement = lDoc->GetNextPrintRecord();
    				}
    
    				//Alten Schiftstil wiederherstellen
    			pDC->SelectObject(lOldFont);
    		}	
    }
    

    jetzt meine fragen:
    wie und wo muss ich hier StartDoc, StartPage, endpage und enddoc einsetzten, damit das seitenweise ausgedruckt wird(mit der kopfzeile())?
    wie und wo kann ich das querformat als standard einstellen?


Log in to reply