Druck menü in C++
-
Hallo an alle Programmierfans und Danke an alle die mir helfen.
Mein Problem:
Ich habe einen kleinen aber feinen^^ Texteditor mit dem Borland C++ Builder 6 Personal geschrieben. Ich habe einige Funktionen wie -Einfügen
-Kopieren usw.
Nun möchte ich jedoch noch eine Druckfunktion einfügen. Das Druckmenü habe ich schon eingefügt doch den Quellcode habe ich noch nicht. Bitte helft mir!!!
-
Hallo
Das gehört ins Builder-Subforum, wirst also gleich verschoben.
Der Code richtet sich natürlich danach, aus was für Datenelementen dein Editor besteht, und da du das nicht gesagt hast weilches du benutzt kann ich nur allgemein sagen, schau dich zu diesen Stichworten in der BCB-Hilfe um : TRichEdit::Print, TPrinter.
bis bald
akari
-
Hallo akari,
erstmal danke für deine Antwort.
Es tut mir sehr leid...
Also ich bin noch sehr jung und unerfahren in der Programmierwelt.
Um es auf den Punkt zu bringen...
Was ist ein Datenelement?
-
Hallo
Damit meine ich die Komponente, die deinen Text in dem Form anzeigt. Ich vermute einfach mal es ist ein TRichEdit?
bis bald
akari
-
Achso!!!

Na klaar ist es ein TRichEdit!!!
-
also entweder du schaust dir in der hilfe mal die methoden von TRichEdit an, oder von deinem PrintDialog(TPrintDialog?)!
Da hast du auch beispiele die das erklären!
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum VCL/CLX (Borland C++ Builder) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Danke für eure Hilfe aber könnt ihr mir nicht einfach den Quellcode in C++ sagen?

-
Könnt ihr ihn mir bitte geben???
Es ist dringend!
-
Kurth schrieb:
Könnt ihr ihn mir bitte geben???
Es ist dringend!
wieso schaust nicht einfach in die hilfe von bcb? wie oben gesagt wird hast du da codebeispiele.
das dialogfenster öffnest mit excecute, dann mußt nur noch sagen was er drucken soll.
und wenn dir alles vorgekaut wird, dann lernst es nie.

-
-
Ich habe jetzt diesen Code gefunden:
procedure TForm1.Button1Click(Sender:TObject); var I, Start, Stop: Integer; begin PrintDialog1.Options := [poPageNums, poSelection]; PrintDialog1.FromPage := 1; PrintDialog1.MinPage := 1; PrintDialog1.ToPage := PageControl1.PageCount; PrintDialog1.MaxPage := PageControl1.PageCount; if PrintDialog1.Execute then begin { Druckbereich festlegen } with PrintDialog1 do begin if PrintRange = prAllPages then begin Start := MinPage - 1; Stop := MaxPage - 1; end else if PrintRange = prSelection then begin Start := PageControl1.ActivePage.PageIndex; Stop := Start; end else { PrintRange = prPageNums } begin Start := FromPage - 1; Stop := ToPage - 1; end; end; { jetzt den gewünschten Bereich drucken } with Printer do begin BeginDoc; for I := Start to Stop do begin PageControl1.Pages[I].PaintTo(Handle, 10, 10); if I <> Stop then NewPage; end; EndDoc; end; end; end; void __fastcall TForm1::Button1Click(TObject *Sender) { PrintDialog1->Options.Clear(); PrintDialog1->Options << poPageNums << poSelection; PrintDialog1->FromPage = 1; PrintDialog1->MinPage = 1; PrintDialog1->ToPage = PageControl1->PageCount; PrintDialog1->MaxPage = PageControl1->PageCount; if (PrintDialog1->Execute()) { int Start, Stop; // Vom Benutzer gewünschten Druckbereich ermitteln switch (PrintDialog1->PrintRange) { case prSelection: Start = PageControl1->ActivePage->PageIndex; Stop = Start; break; case prPageNums: Start = PrintDialog1->FromPage - 1; Stop = PrintDialog1->ToPage - 1; break; default: // prAllPages Start = PrintDialog1->MinPage - 1; Stop = PrintDialog1->MaxPage - 1; break; } // Seiten drucken Printer()->BeginDoc(); for (int i = Start; i <= Stop; i++) { PageControl1->Pages[i]->PaintTo(Printer()->Handle, 10, 10); if (i != Stop) Printer()->NewPage(); } Printer()->EndDoc(); } }1. procedure wird immer angestrichen
2. wie füge ich diesen button1klick ein?
-
Hallo
1. procedure wird immer angestrichen
Und das heißt in Detail? Merke : Nur für präziße Fragen gibt es präzise Antworten.
2. wie füge ich diesen button1klick ein?
Über den Objektinspektor. Gehört zu den Builder-Grundlagen...
Der Code ist übrigens in Delphi, und müßte auch erstmal übersetzt werden.
bis bald
akari
-
Würde mich jetzt interessieren:
Was spricht gegen den Code von meinem Link?
Was kann dort verbessert werden?
-
@ Christian211: Es spricht nichts gegen deinen Link er ist sogar sehr gut. Nur ich habe das ganze Programm mit einem TRichEdit und nicht mit einem Memo geschrieben.
-
Und du hast unterschiedlich formatierten Text da drin??
-
So...
Das Problem ist gelöst!
Ich habe mich nur dumm angestellt
Danke für den Link Christian211 und danke für die Hilfe aller anderen.
Bis zur nächsten Frage!
