PDA

Ver la Versión Completa : Deshabilitar los botones del QuickReport (esta es dificil)


EstebanWeb
03-12-2004, 20:12:14
Hola amigos,
Les tengo una consulta que me tiene con los pelos de punta, no eh encontrado ni jota y espero que ustedes me puedan ayudar. la cuestión es como deshabilito el boton de imprimir de la vista previa del quickReport?? :confused:

Saludos,
Esteban

marcoszorrilla
03-12-2004, 20:40:02
Pues, no se puede, a no ser que tu mismo te construyas un visor personalizado.

Un Saludo.

roman
03-12-2004, 21:29:34
Pues, no se puede


Bueno, bueno, siempre hay maneras de hacer las cosas. Que sean chapuzas ya es otra cuestión :D

La vista preliminar de QuickReport se presenta en una ventana de tipo TQRStandardPreview que afortunadamente aparece en la lista Screen.Forms de manera que podemos acceder directamente a ella en código recorriendo Screen.Forms hasta encontrar una cuyo ClassName sea 'TQRStandardPreview'

Una vez que tenemos una referencia a esta forma podemos recorrer la lista de sus componentes (Components) e inhabilitar las que nos plazca.

Para saber cuál nos place podemos examinar la propiedad Name y/o ClassName de cada componente.

El único detalle es encontrar el momento adecuado para examinar Screen.Forms. Intenté con el evento OnDeactivate del formulario desde donde llamo al preview y funciona en el caso no modal pero falla en el modal.

Finalmente escribí directamente un manejador para el mensaje WM_ACTIVATE que se recibe tanto cuando se activa la ventana como cuando se desactiva.

// Saludos

marcoszorrilla
03-12-2004, 22:55:05
Sorprendente Román. No me queda más remedio que retractarme de mi anterior afirmación.

Un Saludo.

roman
03-12-2004, 23:17:33
No me queda más remedio que retractarme de mi anterior afirmación.


No te retractes. En realidad yo no recomendaría tal chapuza como no sea para una emergencia. El visor que muestra PreviewModal es sólo uno por defecto que proporciona el QuickReport pero si uno quiere que se vea distinto o tenga otra funcionalidad lo mejor es como tú dices, crear uno personalizado.

// Saludos

EstebanWeb
06-12-2004, 14:29:44
Gracias por el dato!
aunque chapuza es una solución.
otra cosita guiame un poquito pues no encuentro el famoso screen (chistosos abstenerse), esto lo tengo que hacer en tiempo de ejecucion o puedo hacerlo en tiempo de diseño?

roman
06-12-2004, 15:40:59
no encuentro el famoso screen (chistosos abstenerse)


¿O sea que tengo que quedarme con las ganas de decirte que está justo enfrente de ti a la altura de tus ojos?

¡Lástima!

Entonces te diré que Screen es una variable global que puedes usar sin más tan sólo incluyendo la unidad Forms (que normalmente ya estará incluída).

// Saludos

oliviagadel
12-04-2006, 12:01:34
Estoy interesada en desactivar la impresion de esta forma tan comoda, pero no entiendo lo que tengo que hacer con la varaible screen, ni como encontrar tqrstandardpreview

Gracias