Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Drucken aus einer Variable???

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 < [ 2 ]
000
02.11.2002, 09:12 Uhr
Programmer



Hi!
Ich lasse mit meiner Anwendung einen Text drucken:

Code:
void CDlgPrintDlg::OnOK()
{
// TODO: Zusätzliche Prüfung hier einfügen

// 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 = "MeinDruckAuftrag";
myPrintJob.lpszOutput = NULL;
myPrintJob.lpszDatatype = NULL;
myPrintJob.fwType = NULL;

// Ausdruck des Dokuments starten
if (dcPrint.StartDoc(&myPrintJob)>=0)
{
// Eine Seite beginnen
dcPrint.StartPage();

// Zeichnen beginnen
dcPrint.TextOut(0,0,"Mein kleiner Druckauftrag");

// Seite auswerfen
dcPrint.EndPage();

// Dokument schließen
dcPrint.EndDoc();
}

// Druckergerätekontext löschen
dcPrint.DeleteDC();
}

// Mit Standardverarbeitung von OnOK fortfahren
CDialog::OnOK();
}



Die Zeile dcPrint.TextOut(0,0, "Hallo das ist ein Druckauftrag"); ist die entsrpechende stelle.
Der Drucker druckt mir diesen Text auf ein Blatt Papier aus. Geht cool! Wow! ja,. aber...

Wie bringe ich es hin, damit derDrucker mit den Inhalt eines Editfeldes m_strAusgabe ausdruckt??

Ich habs so versucht:


Code:
dcPrint.TextOut(0,0, m_strAusgabe);


aber OHNE erfolg!!

Das einzige was ich hiermit ausgespuckt bekomme, ist ein weisses, unbedruktes, leeres blatt!!

Kann mir da eventuell einer helfen?
danke`!

mfg
Programmer
--
Moderator werden? Null Problemo!! Werden gesucht auf:
http://4116.rapidforum.com

Visti www.it-center.ch.tf

Dieser Post wurde am 02.11.2002 um 09:17 Uhr von Programmer editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.11.2002, 11:13 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hallo,

du hast wahrscheinlich die Membervariable des Textfeldes nicht aktualisiert:


C++:
void CDlgPrintDlg::OnOK()
{
    [b]UpdateData(TRUE);[/b]

    // Ein CPrintDialog-Objekt konstruieren
    CPrintDialog dlgPrint(FALSE,PD_ALLPAGES,this);

    // ...



dann sollte


C++:
dcPrint.TextOut(0,0, m_strAusgabe);



funktionieren
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
02.11.2002, 12:05 Uhr
Programmer



THX! Funzt!!, aber net richtig!!!

Wenn ich mehrzeilige Sachen hab zum Beispiel

1
2
3.Zeiele
ENENEDED34242

oder so, dann druckt der anstatt das obige so wies ist, einfach nur

1[][]2[]3.Zeilee[][][]EMNDNENE23213[]

und und und... also alles auf EINE zeile, anstatt mehrzeilig... obwohl, das eDitfeld auf MULTILINE eingestellt ist... komisch!!
--
Moderator werden? Null Problemo!! Werden gesucht auf:
http://4116.rapidforum.com

Visti www.it-center.ch.tf
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
02.11.2002, 13:20 Uhr
Tobi



Benutzt du "\r\n" oder "\n"? Bei letztem kann es nämlich zu Fehlern kommen! (Obwohl es eignetlich nicht sein dürfte)
--
Mit Computern können wir Probleme lösen die wir ohne sie gar nicht erst hätten!

mfg

Tobi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
02.11.2002, 13:35 Uhr
~programmer
Gast


Ich benutze gar nichts!!
Ich kann da einfach ein Text eingeben, ENTER und schon neue Zeile!!!!

Ich hab IDC_AUSGABE NICHT in einen String gespeichert, sondern die direkte Variable m_strAusgabe davon!!!

Und bei Editfelder, wenns was mit Strings zu tun hat, benutze ich IMMER \r\n !!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.11.2002, 15:56 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


probier mal folgendes:


C++:
m_strAusgabe.OemToAnsi();
dcPrint.TextOut(0,0, m_strAusgabe);


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
02.11.2002, 16:20 Uhr
Programmer



ok... cu! thx!
Muss noch schauen, obs geht! cu!
--
Moderator werden? Null Problemo!! Werden gesucht auf:
http://4116.rapidforum.com

Visti www.it-center.ch.tf
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
02.03.2004, 04:21 Uhr
~Programmer
Gast



Zitat:
~programmer postete
Ich benutze gar nichts!!
Ich kann da einfach ein Text eingeben, ENTER und schon neue Zeile!!!!

Ich hab IDC_AUSGABE NICHT in einen String gespeichert, sondern die direkte Variable m_strAusgabe davon!!!

Und bei Editfelder, wenns was mit Strings zu tun hat, benutze ich IMMER \r\n !!


ICh bins wieder einmal.
Sorry, aber funzt immer noch nicht... ..

naja was solls
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
02.09.2005, 16:23 Uhr
~Lhug
Gast


Hi,vermutlich liest das hier keiner mehr, aber da es immer wieder einmal jemanden gibt, der diesen Thread über Google findet (wie mich), schreibe ich hier mal, wie das funktioniert.
Mann benutzt einfach die CString-Member Funktion GetBuffer(0), um den Text an TextOut zu übergeben. Beispiel:


C++:
CString Text = "TEST";
TextOut(10,10,temp.GetBuffer(0));

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
02.09.2005, 16:58 Uhr
~Programmer
Gast


àäähhhmm....


Ich schreib auch weider mal...
und habe eine bessere Lösung gefunden !!!

TextOut ist die FALSCHE funktion !!

Man nehme die Funktion von DrawText(); dann kommts perfekt !! INKL Zeilenumbruch!

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ 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: