Medida drástica ? ( TPrinter )
Amigos,
No sábado postei esta mensagem, mas, infelizmente, nenhum colega pode me ajudar ainda...
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.
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
Curtidas 0
Respostas
Vinicius2k
05/10/2003
sobe...
GOSTEI 0
Vinicius2k
05/10/2003
sobe de novo...
GOSTEI 0
Vinicius2k
05/10/2003
prometo q eh o último ´sobe´...
GOSTEI 0
Vinicius2k
05/10/2003
só mais um ´sobe´...
GOSTEI 0