Drucken mit/über TChart
-
Hallo,
habe eine Frage. Habe ein TChart-Diagramm. Habe leider keine Hilfedatei zu dem TChart. Diese ist ja normalerweise separat und nicht in der Standart BCB-Hilfe zu finden.
Möchte nun das Diagrammausdrucken können.
Mit"Chart1->Print();"wird das Diagramm zwar gedruckt, möchte aber vorher das Druckmenü geöfnet bekommen um mir den Drucker auswählen zu können. Gibt es da nicht etwas vorgefertigtes?
Bitte helft mir.
-
Aus der Hilfe:
procedure ChartPreview(AForm: TForm; AChart: TChart);Beschreibung
Mit dem neuen TChartPreview-Dialog ist es möglich, daß Diagramme auf dem Bildschirm fast genauso angezeigt werden, wie sie auf dem Drucker ausgegeben werden. Die ChartPreview-Methode (teeprevi.pas-Unit) zeigt einen modalen Dialog mit der angegebenen Diagrammkomponente. Der Endbenutzer kann ausdrucken, die Druckereigenschaften sowie die Papierausrichtung ändern und das Diagrammrechteck zu einer beliebigen Papierposition ziehen.
-
Hey, dass ist nett aber kann ich nciht anwenden. Habe mir nun die Hilfedatei von der Firma Steema organisiert. Leider ist nicht alles eindeutig für mich.
Habe die Druckerroutinen gefunden. Als ich diese anwenden wollte meckerte der Compiler. Wahrscheinlich habe ich mal wieder einen Fehler.
Chart1->PrintMargins =Rect(4,4,4,4); Chart1->PrintRect(Rect );Dies ist mein Quelltext! PrintMargins(int,int,int,in) legt dabei die Größe des Druckbereichs fest (Integerwerte für den Setienabstand). PrintRect() druckt das Chart im Bereich von Margnis. Leider Funktioniert meine Übergabe nicht. Rect ist ist als übergabewert verkehrt. Mein Compiler saget,
[C++ Fehler] Graph.cpp(28): E2336 Zeiger auf überladene Funktion 'Rect' stimmt nicht mit 'const TRect &' überein
[C++ Fehler] Graph.cpp(28): E2342 Keine Übereinstimmung des Typs beim Parameter 'R' ('const TRect &' erwartet, 'TRect(int,int,int,int)' erhalten)Kann mir da einer behilflich sein?
-
Dann machs halt so
TRect Rect(4,4,4,4); Chart1->PrintMargins =Rect; Chart1->PrintRect(Rect );Was hat das Ganze mit dem Druckauswahldialog zu tun (TPrinterSetupDialog);
-
Danke dir,
das mit dem DialogFenster habe ich ja gestern noch herausgefunden. Das war nun ein anderes Thema, was mit der ersten Frage verknüpft war.
Danke dir.
-
Eigentlich war die neue Frage nicht mit der alten verknüpft.
In diesem Fall gilt:neue Frage -> neuer Thread