Komponente für Druckvorschau (war: Druckvorschau)



  • Mit dem QuickReport kann man zwar eine Druckvorschau realisieren, aber ich drucke so:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    	//x und y repräsentieren Zentimeter, beginnend in der linken
    	//oberen Ecke (für einen bestimmten Drucker)
    	double x = (x - 0.6) * 2000 / 16.9; 
    	double y = (y - 1.0) * 3000 / 25.3;
    	string str = "hallo";
    	Printer()->BeginDoc();
    	Printer()->Canvas->TextOut(x, y, str.c_str());
    	Printer()->EndDoc();
    }
    //---------------------------------------------------------------------------
    

    Wie kann man für sowas eine Druckvorschau erstellen? Bin nirgendwo fündig geworden.

    Edit:
    Bitte aussagekräftige Überschriften wählen. Danke!



  • gegebenenfalls könntest du mittels der Funktin PrintTo() das zu Druckende auf eine TImage Komponente übertragen und diese dann Zoomen und weiteres machen. Is nur eine Idee, ob's klappt weiß ich nicht.



  • Hallo,

    dazu müsstest du dir deine eigentliche Zeichenfunktionen (Canvas->...) in ne Funktion packen. Der Funktion übergibst du dann als Parameter einen TCanvas. Du könntest die Funktion dann entweder mit:
    paintPrinting(Printer()->Canvas);
    oder mit
    paintPrinting(Form1->Canvas);
    aufrufen...

    Grüße,
    Robert



  • Danke, aber gibt es dafür vielleicht eine Druckvorschau-Komponente a la Word?



  • Ingo schrieb:

    Danke, aber gibt es dafür vielleicht eine Druckvorschau-Komponente a la Word?

    Musst Du mal googeln. Ich hab da schon welche gesehen, hab' mir aber die Namen nicht gemerkt.



  • Schau mal auf der Delphi Super Page http://delphi.icm.edu.pl/ nach. Dort gibt es tausende von Komponenten, such mal nach "Preview" mittels des Eintrags "Search DSP (US)".
    Ich selber habe den TPagePrinter benutzt und bin damit sehr zufrieden.


Anmelden zum Antworten