Ola pessoal,



Encontrei o código abaixo no site da Borland e a partir dele é possível
determinar o tamanho de uma página para impressão. O caso é que ele não
funciona (pelo menos no XP). Alguém tem alguma idéia do porque não funciona?
Ou já passou por tal situação?



var

  Device : array[0..255] of char;

  Driver : array[0..255] of char;

  Port   : array[0..255] of char;

  hDMode : THandle;

  PDMode : PDEVMODE;

begin

  Printer.PrinterIndex := Printer.PrinterIndex;

  Printer.GetPrinter(Device, Driver, Port, hDMode);

  if hDMode <> 0 then

  begin

    pDMode := GlobalLock(hDMode);

    if pDMode <> nil then

    begin

      pDMode^.dmFields      := pDMode^.dmFields or

                               DM_PAPERSIZE or

                               DM_PAPERWIDTH or

                               DM_PAPERLENGTH;

      pDMode^.dmPaperSize   := DMPAPER_USER;

      pDMode^.dmPaperWidth  := 100 {SomeValueInTenthsOfAMillimeter};

      pDMode^.dmPaperLength := 100 {SomeValueInTenthsOfAMillimeter};



      GlobalUnlock(hDMode);

    end;

  end;

end;



Abraços.



Christian Balz





[As partes desta mensagem que não continham texto foram removidas]



--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a