PREVIEW + SELECCION IMPRESORA

Post Reply
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

PREVIEW + SELECCION IMPRESORA

Post by Manuel Valdenebro »

Normalmente realizo las impresiones CON PREVIEW y con la impresora determinada. Me gustaria seguir asi, pero incorporar a la cabecera del preview un combobox, con las impresoras instaladas, al fin de que, si lo desea el usuario, cambie la impresora a imprimir. ¿Alquien tiene hecho algo sobre esto?
Un saludo

Manuel
User avatar
Raymundo Islas M.
Posts: 590
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Post by Raymundo Islas M. »

Hola Manuel

Asi como lo comentas, no.

Lo que tengo es poquito alrevez :wink: , selecciono una impresora en un combobox de todas las impresoras ya instaladas en la Pc y a cada reporte se le puede asignar X impresora, ya sea local o de red.

Aunque, lo que comentas, suena muy bien. :D


Saludos
FWH 10.6 + xHarbour + Borland 582
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Post by Manuel Valdenebro »

Raymundo,

Gracias por tu respuesta.

Lo que busco es que por defecto, al usuario le salga el previo sin tener que seleccionar la impresora.- Solo en el caso de que lo necesite, tener un combobox, en el propio preview, para seleccionar otra impresora que la prederminada (por ejemplo, para imprimir en una impresora PDF y mandarla por email).

Ya lo he conseguido, pero a medias:

1) Con aGetPrinters(), consigo la lista de impresoras y la pongo en un ComboBox en la barra del preview.

2) Si cambio este Combo (ON CHANGE) me funciona con oDevice:hDC:=GetPrintDC(), pero claro, sale el cuadro de Windows para elegir de nuevo la impresora, y me gustaria evitarlo. Todos los intentos que he hecho para que al cambiar el ComboBox tome como activa la nueva impresora, han sido inutiles. ¿Alguien podría echarme una ayudita?
¿Que tengo que poner para que al elegir una impresora en el Combo, el programa tome como activa dicha impresora?.
Un saludo

Manuel
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Post by Manuel Valdenebro »

Solucionado:


//------------------------------------------------------------------------
// función para cambiar la impresora desde previo (mcn)
//------------------------------------------------------------------------
func f_CamImpre (oDevice, cCbx )
local cPrinter

cPrinter := GetProfString( "windows", "device" , "" )
WriteProfString( "windows", "device", cCbx )
SysRefresh()
PrinterInit()
oDevice:hDC := GetPrintDefault( GetActiveWindow() )
SysRefresh()
WriteProfString( "windows", "device", cPrinter )

RETURN nil
Un saludo

Manuel
User avatar
wmormar
Posts: 1050
Joined: Fri Oct 07, 2005 10:41 pm
Location: México
Contact:

Post by wmormar »

Manuel Valdenebro wrote:Solucionado:


//------------------------------------------------------------------------
// función para cambiar la impresora desde previo (mcn)
//------------------------------------------------------------------------
func f_CamImpre (oDevice, cCbx )
local cPrinter

cPrinter := GetProfString( "windows", "device" , "" )
WriteProfString( "windows", "device", cCbx )
SysRefresh()
PrinterInit()
oDevice:hDC := GetPrintDefault( GetActiveWindow() )
SysRefresh()
WriteProfString( "windows", "device", cPrinter )

RETURN nil
Manuel,

Haz concemplado el cambio de resolucion por eltipo de impresora seleccionado, tengo entendido que cada impresora tiene su propia resolución y al generar la impresión lo hace de acuerdo a la impresora seleccionada al momento de generar la impresión?
William, Morales
Saludos

méxico.sureste
User avatar
Manuel Valdenebro
Posts: 706
Joined: Thu Oct 06, 2005 9:57 pm
Location: Málaga-España

Post by Manuel Valdenebro »

William,

En las impresoras que utilizo (HP laser) me funciona. Intentaré probar en otras para comprobarlo.
Un saludo

Manuel
Post Reply