Registriert seit: 22. Apr 2007
91 Beiträge
|
kein Ausdruck im Sparmodus
2. Jul 2008, 12:12
Hiho.. ich hab folgende Prozedure geshcrieben, damit ich Bilder ausdrucken kann. Leider funktioniert das nicht, wenn ich meinen Drucker auf Sparmodus stelle... Woran liegt das?
Delphi-Quellcode:
Procedure DruckPos(iLeft, iTop: integer; Graphic: TGraphic);
var i,breite,hoehe,zoom,start:integer;
begin
//Änderung Breite
breite := GetDeviceCaps(Printer.Handle, HORZRES);//Bestimmung Blattbreite in Pixel
zoom:=breite div graphic.Width;
if zoom = 0 then
begin
printer.Orientation:=polandscape;
breite := GetDeviceCaps(Printer.Handle, HORZRES);//Bestimmung Blattbreite in Pixel
zoom:= breite div graphic.Width;
//Meldung abgeben an Benutzer
end;
//Änderung Höhe
hoehe:=GetDeviceCaps(Printer.Handle,VERTRES);
for i:=0 to (graphic.Height div hoehe) do
begin
start:= itop+i*GetDeviceCaps(Printer.Handle,VERTRES);
SetWindowOrgEx(Printer.Handle,iLeft,start,nil);
Printer.BeginDoc;
SetMapMode(Printer.Canvas.Handle, MM_ISOTROPIC);
SetWindowExtEx(Printer.Canvas.Handle, 1, 1, nil);
SetViewportExtEx(Printer.Canvas.Handle, Zoom, Zoom, nil);
Printer.Canvas.Draw(iLeft, iTop, Graphic);
Printer.EndDoc;
end;
end;
ich hab auch noch ne Frage...GetDeviceCaps(Printer.Handle,VERTRES) gibt mir bloß die Anzahl der Spalten wieder.. ich brauch aber die Höhe in Pixel?! Wie kann ich das Ändern? Gibts nen anderen Befehl dafür?
MfG Anna
|
|
Zitat
|