Seitenansicht bzw Drucken



  • Hallo @all,
    ich habe ein Problem mit dem Druck-Rahmen.
    Ich zeige mit OnDraw den Inhalt einer Textdatei an.

    CBordnetzPruefDoc* pDoc = GetDocument();
        ASSERT_VALID(pDoc);
    
       CRect crRahmen;                  
       GetClientRect(&crRahmen);        // Rahmengrösse ermitteln
    
        pDC->DrawText(pDoc->GetMessage(), &crRahmen,
             DT_LEFT);
    

    Ich weiß das ich für OnPrint einen anderen Rahmen haben muß und habe mir auch schon das Bsp. aus Visual C++ in 21 Tagen Kapitel Drucken angesehen, aber ich krieg es nicht hin.
    Das folgende geht.

    pDC->TextOut(pInfo->m_rectDraw.left, pInfo->m_rectDraw.top, 
                 "Hier muss der Text stehen der ausgegeben werden soll")
    

    Aber wie bekomme ich den Dateiihnalt hier rein?
    Ich stell mich glaub ich zu blöd an. 😕
    Aber wenn jemandem was einfällt,- dann vielen Dank für Euere Mühe
    Meil



  • Hy@all,
    manchmal muss man sich selbst die Augen öffnen,
    trotzdem schön das es dieses Forum gibt sonst wäre ich jetz noch blind.

    void CxyView::OnPrint(CDC* pDC, CPrintInfo* pInfo) 
    {
        // TODO: Speziellen Code hier einfügen und/oder Basisklasse aufrufen
        // Rechteckbereich aus pInfo kopieren
    
        if (pInfo) m_rcPrintRect = pInfo->m_rectDraw;
    
        CView::OnPrint(pDC, pInfo);
    
        // Client-Rechteck deklarieren
      CRect crRahmen;
    
     // Gerätekontext auf Druckermodus testen
     if (pDC->IsPrinting())
     {
        // Drucken, also Druckerrechteck verwenden
        crRahmen = m_rcPrintRect;
     }
     else
     {
         // Kein Drucken, also genügt Client-Rechteck
         GetClientRect(&crRahmen);
     }
    
     // In logische Einheiten konvertieren
     pDC->DPtoLP(&crRahmen);
    
    CxyDoc* pDoc = GetDocument();
        ASSERT_VALID(pDoc);
    
         pDC->DrawText(pDoc->GetMessage(), &crRahmen,
             DT_LEFT);
    }
    

    Ciao Meil 😃


Anmelden zum Antworten