Aus der MFC heraus drucken und speichern
-
Also habe 2 Probleme.Habe ein Textfeld und 2 buttons. Wenn ich im Texfeld was schreibe soll das Programm wenn ich auf den ersten button klicke drucken und auf den anderen button soll er eine datei erstellen mit dem inhalt was ich geschrieben habe. Wie geht das????
Bitte um rückantwort!
-
Ist ein Scherz oder ?
Man kann dir hier nicht Programmieren beibringen sondern dir nur helfen.
Schau mal zuerst in die FAQ und biete einen Lösungsansatz.
Mit dem können wir dann weitermachen.
-
greeky schrieb:
Also habe 2 Probleme.Habe ein Textfeld und 2 buttons. Wenn ich im Texfeld was schreibe soll das Programm wenn ich auf den ersten button klicke drucken und auf den anderen button soll er eine datei erstellen mit dem inhalt was ich geschrieben habe. Wie geht das????
Bitte um rückantwort!
würdest du jemandem soo einen riesigen gefalen tun? ich meine jemanden bei so einem problem an der hand führen?
das glaube ich nicht!also, ich z.b. helfe gerne wo ich kann... aber nur wenn sich die anderen auch etwas anstrengen. oder glaubst die anderen sind da um deine probleme zu lösen? nope.
stell konkrete fragen. suche. hier im forum, in den faqs, bei google, alltheweb, und vergiss solche sites wie codeproject nicht...
ich habe hier selbst schon so manchen beitrag bereut, weil ich ein paar stunden nach dem post selbst auf die antwort kam.
okay?!
-
habe diesen quelltext hier!
CPrintDialog dlg(FALSE); // Objekt für Dialog konstruieren
if (dlg.DoModal()==IDOK) // Dialog modal aufrufen
{ // abfragen ob mit "OK" verlassen
CDC dc; // "leeren" CDC konstruieren
dc.Attach(dlg.GetPrinterDC()); // DC für den gewählten Drucker zuweisenDOCINFO di; // Die folgende Struktur beschreibt das
di.cbSize=sizeof(DOCINFO); // zu druckende Dokument. In diesem
di.lpszDocName="Testdokument"; // Beispiel wird nur der Name des
di.lpszOutput=NULL; // Dokuments ausgefüllt.
di.lpszDatatype=NULL;
di.fwType=0;dc.StartDoc(&di); // StartDoc muß vor dem Ausdruck eines
// Dokuments aufgerufen werden
dc.StartPage(); // StartPage muß vor dem Ausdruck
// jeder Seite aufgerufen werden
dc.Ellipse(0,0,400,300); // Ausgabe der Grafik: Üblicherweise
// wird hier eine Methode aufgerufen,
// der der DC übergeben wird, um die
// selbe Methode zur Ausgabe am Bild-
// schirm und am Drucker verwenden
// zu können
int erg =dc.EndPage(); // EndPage muß nach dem Ausdruck
// jeder Seite aufgerufen werden
if (erg>=0) // EndDoc muß nach dem Ausdruck eines
dc.EndDoc(); // Dokuments aufgerufen werden
else // jedoch nur dann, wenn keine Fehler-
dc.AbortDoc(); // meldungen von EndPage geliefert
// wurden. Sonst muß das Drucken sofort
// mittels AbortDoc abgebrochen werden!
dc.Detach(); // DC aus Objekt entfernen
}Dieser quelltext bringt mir natürlich nichts! Jetzt meine Frage. Da wo jetzt steht dc.ellipse(...), kann ich nicht was reinschreiben damit er mir den inhalt aus dem textfeld druckt?
-
dc.TextOut(...)
Es gibt noch andere Funktionen um Text auszugeben, aber diese fiel mit spontan ein.
Oder scheitert es daran, die Daten aus dem Textfeld zu kriegen?

-
Er holt den text nicht aus dem textfeld! er druckt eine leere seite! habe das textfeld eine variable gegeben m_textfeld. Kann ich die variable bei dc.textout() in der klammer reinschreiben? Oder wie schaffe ich es das er es druckt!
Bitte um hilfe
-
Was für ein Typ ist m_textfeld?
Wenn das ein CString ist, kannst du es einfach reinschreiben.
-
habe es reingeschrieben aber es kommt eine fehlermeldung und zwar :
error C2661: 'TextOutA' : Keine ueberladene Funktion akzeptiert 1 Parameter
????
-
Ach komm... soooo ein Anfänger kann man doch nicht sein!

Guck doch mal in der MSDN. Ich habe dir einen Ansatz gegeben - Musterlösungen gibt es nicht.
-
CString ausgabe("Mein Hallo Welt"); dc.TextOut( 10, 10, ausgabe);Wenn du Anfänger bist dann freunde dich mal mit den Funktionen deiner IDE oder deines RAD an. Debugger ist auch dein Freund um zu schauen was in den Variablen zu Laufzeit drinsteht