Entwickler-Ecke

Multimedia / Grafik - Panel drucken


schulle - Fr 09.05.03 15:46
Titel: Panel drucken
Guten tag!

ich habe in einem Projekt mein bildschirm in 2 hälften geteilt! links ein memofeld und rechts ein panel auf dem ich grafiken erzeuge! nun möchte ich diese grafik ausdrucken-hab aber keine ahnung wie! die grafik ist keine tgrafik! ist ja auch egal-ich will sie einfach nur asu dem drucker haben! Kann mir da jemand helfen??

Danek im voraus


maxk - Fr 09.05.03 15:56

Ich gebe zu, davon auch keine Ahnung zu haben! Versuchs mal mit Printer.Canvas...

maxk


schulle - Fr 09.05.03 15:59

super-hat mir auch nicht allzu sehr geholfen aber trotzdem danke für mühe


Alibi - Fr 09.05.03 16:00

Yep, einfach den Canvas des Panels auf Printer.Canvas kopieren.


schulle - Fr 09.05.03 16:05

schön schön-und wie funzt das???


Alibi - Fr 09.05.03 17:14

Du hast einen Canvas auf dem Panel und einen Canvas auf dem Printer Objekt, wo ist dein Problem?


schulle - Fr 09.05.03 17:17

um ehrlich zu sein-wie sieht denn genau die textzeile aus??

Danke


Alibi - Fr 09.05.03 17:24

Hm, Gegenvorschlag: Du suchst dir ein paar Tutorials über Canvas, wirst du noch oft brauchen, jedenfalls so ziemlich jedesmal, wenn du etwas "ohne" Komponenten zeichnen willst (Canvas eine Komponente? Denke nicht, eher eine Kapselung der Windows Zeichenfunktionen.).
http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&q=delphi+tutorial+canvas&btnG=Google+Suche&meta=lr%3Dlang_de


schulle - Fr 09.05.03 17:36

Soweit hab ich das ja-was mir fehlt ist noch wie ich nun wirklich drucke! haltet mich für dumm-aber es ist so! wäre nett wenn mir jemand helfen könnte! dafür bin ich schließlich hier!

procedure THauptForm.DruckenStgMClick(Sender: TObject);
begin
if PrintDialogQC.Execute then
Begin
Printer.BeginDoc;

Printer.EndDoc;
end;
end;


Alibi - Fr 09.05.03 17:40

Zwischen BeginDoc und EndDoc kannst du auf dem Canvas malen, wie du lustig bist. Vorher würd ich aber mit SetMapMode den Abbildungsmodus ändern:
SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC);
Somit wäre 1 Pixel 1/10mm groß.
ACHTUNG: Y hat sich nun geändert, wird nach oben größer.
Also ist der Punkt 1cm/1cm von oben auf dem Blatt (10/-10). :)


schulle - Fr 09.05.03 17:45

ich verstehe dich nicht-oder du mich, etwas davon!

ich habe doch schon längst alles gemalt! ich habe das fertige bild auf nem panel und will es drucken! würd dir ja n pic schicken wie es aussieht damit du mal n plan hast was ich genau meine! aber geht ja hier nicht!


Alibi - Fr 09.05.03 17:55

Davon geh ich doch auch die ganze Zeit aus, sage die aber NICHT einen möglichen Lösungsweg, weil du dir das ganze selbst erarbeiten sollst.
Nächster *Hinweis*, mit dem du das mitsamt Delphihilfe (F1) ohne Probleme schaffen müsstest. Canvas.DrawRect.


maxk - Sa 10.05.03 08:19

Alibi hat folgendes geschrieben:
...weil du dir das ganze selbst erarbeiten sollst....
Du solltest erstmal etwas versuchen, bevor du sagst dass du es nicht kannst. Später kannst du immernoch Fragen, warum etwas nicht geht. Selbsterlerntes prägt sich einfach besser ein...