5. Mai 200520 j Hallo, ich bin grad dabei ein wenig mit der Druckausgabe herumzuprobieren. Dazu nutze ich den Code aus der Borland Hilfe: C/C++ Code: TPrinter *Prntr = Printer(); TRect r = Rect(200,200,Prntr->PageWidth - 200,Prntr->PageHeight- 200); Prntr->BeginDoc(); for( int i = 0; i < Memo1->Lines->Count; i++) { Prntr->Canvas->TextOut(200,200 + (i *Prntr->Canvas->TextHeight(Memo1->Lines->Strings)), Memo1->Lines->Strings); } Prntr->Canvas->Brush->Color = clBlack; Prntr->Canvas->FrameRect®; Prntr->EndDoc(); C/C++ Code: TPrinter *Prntr = Printer(); TRect r = Rect(200,200,Prntr->PageWidth - 200,Prntr->PageHeight- 200); Prntr->BeginDoc(); for( int i = 0; i < Memo1->Lines->Count; i++) { Prntr->Canvas->TextOut(200,200 + (i *Prntr->Canvas->TextHeight(Memo1->Lines->Strings)), Memo1->Lines->Strings); } Prntr->Canvas->Brush->Color = clBlack; Prntr->Canvas->FrameRect®; Prntr->EndDoc(); Das Problem ist jetzt, dass ich wenn ich das erste Mal das ganze mit dem Klick auf den Button1 aufrufe funktioniert es tadellos, doch klick ich danach nocheinmal auf den Button, dann kommen an den Stellen an denen der Text stehen sollte nur schwarze Balken Kann mir jemand helfen???
6. Mai 200520 j Hi SimonLZ, du setzt die Hintergrundfarbe auf schwarz, und das wirkt sich beim erneuten Aufruf der Funktion natürlich aus. Abhilfe schafft das setzen der Hintergrundfarbe auf weiß, bevor du beginnst den Text zu drucken: TPrinter *Prntr = Printer(); Prntr->BeginDoc(); Prntr->Canvas->Brush->Color = clWhite; for( int i = 0; i < Memo1->Lines->Count; i++) { Prntr->Canvas->TextOut(200,200 + (i *Prntr->Canvas->TextHeight(Memo1->Lines->Strings[i])), Memo1->Lines->Strings[i]); } TRect r = Rect(200,200,Prntr->PageWidth - 200,Prntr->PageHeight- 200); Prntr->Canvas->Brush->Color = clBlack; Prntr->Canvas->FrameRect(r); Prntr->EndDoc(); [/PHP]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.