Registriert seit: 10. Jan 2013
32 Beiträge
|
AW: Print Scrollbox in richtiger Größe
8. Feb 2021, 23:14
Okay, vielen Dank, mit dem Link bin ich tatsächlich durchgekommen und kann jetzt sichtbar drucken.
Ich werde noch mit ein paar anderen Drucken rumexperimentieren, vllt muss ich das noch ein wenig fein-tunen, aber damit kann ich zumindest mal arbeiten.
Danke vielmals
Delphi-Quellcode:
var
PrintDialog : TPrintDialog;
begin
PrintDialog := TPrintDialog.Create(self);
if PrintDialog.Execute then
begin
Printer.BeginDoc;
SetGraphicsMode(Printer.Canvas.Handle, GM_ADVANCED);
SetMapMode(Printer.Canvas.Handle,MM_ANISOTROPIC);
//Markiert
SetViewportExtEx(Printer.Canvas.Handle, 5,5, nil);
ScrollBoxToCanvas(ScrollBox1,Printer.Canvas) ;
Printer.EndDoc;
end;
end;
Es ist natürlich sinnvoller, wenn das auf mehr als dem hauseigenen Drucker funktioniert. Dazu habe ich an oben "//Markierter" Stelle folgendes ergänzt
Delphi-Quellcode:
cxpage := GetDeviceCaps(Printer.Canvas.Handle, HORZRES);
cypage := GetDeviceCaps(Printer.Canvas.Handle, VERTRES);
SetWindowExtEx(Printer.Canvas.Handle, 963, 1346, nil);
SetViewportExtEx(Printer.Canvas.Handle, cxpage,cypage, nil);
Das SetWindowExtEx bekommt die Größe des Elements (in dem Fall der Scrollbox) mit und SetViewportExtEx die Werte, die der Drucker selbst liefert.
Gruß
|
|
Zitat
|