PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Medida drástica ? ( TPrinter ) #186348

05/10/2003

0

Amigos,
No sábado postei esta mensagem, mas, infelizmente, nenhum colega pode me ajudar ainda...

Amigos, Preciso verificar o tamanho do papel da impressora selecionada no PrintDialog para fazer algumas parametrizações na impressão de um relatório que utiliza o TPrinter, porém a função GetDeviceCaps sempre me retorna os dados referentes à impressora padrão. Já contornei o problema do TPrinter sempre imprimir na impressora padrão com a função Printer.GetPrinter... ele imprime na impressora selecionada corretamente, mas os parametros de tamanho do papel permanecem os da padrão. Exemplo : Impressoras : Epson LX-300 configurado papel como ´Carta´ e HP 840 (Padrão) configurado papel como ´A4´ Executo o PrintDialog e seleciono a LX-300, no próprio PrintDialog click em ´Propriedades´ e o papel selecionado está ´A4´ que é o da HP... então tenho que selecionar novamente o ´Carta´ para que o relatório seja impresso corretamente. Acredito que vocês consigam simular este problema... Se alguém puder ajudar-me, desde já agradeço....


Bem, o caso é que estou pensando em forçar a mudança da impressora que selecionei para padrão, pegar os dados de que necessito (PHYSICALHEIGHT e LOGPIXELS) com a função DeviceCaps e retornar para a padrão a impressora anterior....

Vcs poderiam opinar se este é um grande ´gatilho´ sujeito à muitos problemas ou se é uma idéia válida.

Desde já agradeço.

PS : já tentei usar as funções GetDeviceCaps, Escape e a classe TDevMode... todos com o mesmo resultado : não importa a impressora que selecionei, o tamanho do papel é sempre o da impressora padrão.


Vinicius2k

Vinicius2k

Responder

Posts

06/10/2003

Vinicius2k

sobe...


Responder

Gostei + 0

06/10/2003

Vinicius2k

sobe de novo...


Responder

Gostei + 0

06/10/2003

Vinicius2k

prometo q eh o último ´sobe´...


Responder

Gostei + 0

07/10/2003

Vinicius2k

só mais um ´sobe´...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar