Einzelnen Beitrag anzeigen

punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#1

kein Ausdruck im Sparmodus

  Alt 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
  Mit Zitat antworten Zitat