Druck menü in C++
-
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!
