Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CListCtrl druck Problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
18.09.2004, 23:19 Uhr
xXx
Devil


Also ich hab mir jetzt nen Quellcode erstelt der meine CListCtrl ausdrucken soll, funktioniert soweit bis ich dem dann angeb welche Datei er ausdrucken soll da die ListControl einen CString auswirft funktioniert meine folgende funktion nicht dcPrint.DrawText(m_ListCountries); gibt es ne funktion anstelle von DrawText die das ausdrucken von ListControls unterstützt?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.09.2004, 09:10 Uhr
~mike
Gast


Hi!
www.codeguru.com/Cpp/W-P/printing/article.php/c2941/
Vielleicht hilft dir das weiter

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.09.2004, 10:30 Uhr
xXx
Devil


Hab das mir mal durchgelesen aber das passt nicht zum anderen Teil des @uellcodes!

Trotzdem Thx
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.09.2004, 17:45 Uhr
xXx
Devil


Ich habs mit

Code:

dcPrint.TextOut(0,0,m_ListCountries.GetItemText(0,0));


gemacht, dadurch druckt der mir aber immer nur einen Wert ich will aber das der
auch die Columne 1;2 neben die Columne 0 druckt und das der alle Einträgen unter den jeweiligen Columnen druckt!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.09.2004, 22:32 Uhr
xXx
Devil


hab jetzt mit

Code:

dcPrint.TextOut(400,350,m_ListCountries.GetItemText(0,0));
dcPrint.TextOut(800,350,m_ListCountries.GetItemText(0,1));
dcPrint.TextOut(1200,350,m_ListCountries.GetItemText(0,2));
dcPrint.TextOut(400,400,m_ListCountries.GetItemText(1,0));
...


bis in Zeile sieben die Funktion ausgeführt, das funktioniert auch suuper aber ich kann dann erstens dem nicht sagen wenn es weniger als 7 Einträge sind das der dann auch aufhören soll zudrucken und wie kann ich es machen das sich nur die Werte von GetItemText(0,0) ändern(automatisch) irgendwie mit nem ++ Operator, glaub ich.

Dieser Post wurde am 24.09.2004 um 22:33 Uhr von xXx editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.09.2004, 10:19 Uhr
mike
Pinguinhüpfer
(Operator)


Hallo xXx

Also ich denke, dass du an der falschen Stelle anfängst Du kannst nicht einfach mitten in der MFC anfangen. Daher würde ich dir empfehlen, dass du dir ein C++ Buch zur Hand nimmst und dieses mal durchliest. Denn eine for schleife sollte man auf jeden Fall "bilden" können. Schau dich bei den ebooks um - da findet man super C++ Bücher.
Oder du nimmst C. Dann kann ich dir folgendes Buch empfehlen:
www.pronix.de/modules/C/openbook/

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
27.09.2004, 19:56 Uhr
xXx
Devil


ich habs jetzt so gemacht:

Code:

void CVokabeltraineraDlg::OnDruck()
{
  // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
    
   CListCtrl* pLC=(CListCtrl*) GetDlgItem(IDC_VOK);
   // Ein CPrintDialog-Objekt konstruieren
   CPrintDialog dlgPrint(FALSE,PD_ALLPAGES,this);

   if (dlgPrint.DoModal()==IDOK)
   {
      // Den Drucker-DC vom Dialogfeld mit einem
      // CDC-Objekt verbinden
      CDC dcPrint;
      dcPrint.Attach(dlgPrint.GetPrinterDC());
      
      // Eine DOCINFO-Struktur erzeugen und füllen
      DOCINFO myPrintJob;
      myPrintJob.cbSize = sizeof(myPrintJob);
      myPrintJob.lpszDocName = "Vokabeltrainer 1.0";
      myPrintJob.lpszOutput = NULL;
      myPrintJob.lpszDatatype = NULL;
      myPrintJob.fwType = NULL;
    
    
      // Ausdruck des Dokuments starten
      if (dcPrint.StartDoc(&myPrintJob)>=0)
      {
         int vokabeln = pLC ->GetItemCount();
         int schleife = 0;
         int durchgang = 0;
         int zeile = 0;
         CString Seite;
         if ( vokabeln > 39)
         {
            schleife = 1 + vokabeln/39;
         }
         else
         {
            schleife = 1;
            durchgang = vokabeln;
         }
         for (int j = 0; j < schleife; j++)
         {
             // Eine Seite beginnen
             dcPrint.StartPage();
            
             // Zeichnen beginnen
             int ersteSpaltex = 150;
             int Spaltey = 75;
             dcPrint.TextOut(ersteSpaltex, Spaltey, "Englisch");
             int zweiteSpaltex = 500;
             dcPrint.TextOut(zweiteSpaltex, Spaltey, "Deutsch");
             int dritteSpaltex = 900;
             dcPrint.TextOut(dritteSpaltex, Spaltey, "Unit");
             dcPrint.MoveTo(135, 140);
             dcPrint.LineTo(2230, 140);
            
             if(j < schleife - 1)
                 durchgang = 39;
             else
                 durchgang = vokabeln%40;
             for (int i = 0; i < durchgang; i++)
             {
                 dcPrint.TextOut(ersteSpaltex,Spaltey,pLC->GetItemText(zeile,0));
                 dcPrint.TextOut(zweiteSpaltex,Spaltey,pLC->GetItemText(zeile,1));
                 dcPrint.TextOut(dritteSpaltex,Spaltey,pLC->GetItemText(zeile,2));
                 Spaltey += 75;
                 zeile++;
             }
             Seite.Format(" - %d - ",schleife);
             dcPrint.TextOut(1160,3230,Seite);
            
             // Seite auswerfen
             dcPrint.EndPage();
         }
         // Dokument schließen
         dcPrint.EndDoc();
      }
      // Druckergerätekontext löschen
      dcPrint.DeleteDC();
   }
}



aber jetzt hab ich das Problem das die erste Zeile über die Überschriften gedruckt wird
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: