Einzelnen Beitrag anzeigen

uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#4

Re: [Fastreport] Benutzereinstellungen für Papier abfragen

  Alt 5. Okt 2006, 10:28
Schau mal ob das bei Dir funktioniert.

Delphi-Quellcode:
function GetPaperSizeIndex : integer;
var p : array [0..99] of WORD;
    pDevMode : PDeviceMode;
    DefSource : Word;
    i : Integer;
    Res : DWord;
begin
  Printer.GetPrinter(ADevice, ADriver, APort, hDMode);
  if (hDMode <> 0) then
  begin
    pDevMode := GlobalLock(hDMode);
    if pDevMode <> nil then
    begin
      DefSource := pDevMode^.dmPaperSize;
      Res := DeviceCapabilities(ADevice,APort,DC_PAPERS,PCHAR(@p[0]),pDevMode);
      for i := 0 to Res-1 do
      if DefSource = p[i] then break;
    end;
    GlobalUnlock(hDMode);
    result := i; //Gibt Nr in Array (p) zurück
  end;
end;
Uwe
  Mit Zitat antworten Zitat