Olá amigos, tenho a seguinte função onde consigo definir o tamanho do papel da 
impressora:

procedure SetPrinterPage(Width, Height : LongInt);
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.GetPrinter(Device, Driver, Port, hDMode);
  if hDMode <> 0 then begin
    pDMode := GlobalLock( hDMode );
    if pDMode <> nil then begin
      pDMode^.dmPaperSize := DMPAPER_USER;
      pDMode^.dmPaperWidth := Width;
      pDMode^.dmPaperLength := Height;
      pDMode^.dmFields := pDMode^.dmFields or DM_PAPERSIZE;
      GlobalUnlock( hDMode );
    end;
  end;
end;

Funciona muito bem no Win98, porém no WinXP, essas propriedades são definidas 
no "servidor WinXP" e a função não funciona no WinXP, não dá erro, mas tmbém 
não altera as propriedades e é impresso com as propriedades definidas na 
impressora.

Alguém sabe como é possível alterar o tamanho do papel da impressora no WinXP?

obrigado


[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] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a