Cómo impedir la impresión desde una vista previa del informe en Visual FoxPro 9.0

Seleccione idioma Seleccione idioma
Id. de artículo: 895279 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

INTRODUCCIÓN

Microsoft Visual FoxPro 9.0 presenta la arquitectura Object-assisted Reporting. Con este nuevo diseño, puede directamente interfaz a través de código con herramientas como el Diseñador de informes y vistas previas de informe de informes de Visual FoxPro 9.0. Por lo tanto, resulta más fácil deshabilitar la capacidad para imprimir desde una vista previa del informe en Visual FoxPro 9.0 que en versiones anteriores de Visual FoxPro. En este artículo se describe cómo escribir código para interactuar directamente con y para configurar informes Object-assisted vistas previas de informe.

Más información

De forma predeterminada, cuando un informe de asistencia técnica el objeto vista previa de Visual FoxPro 9.0, el usuario puede imprimir el informe desde la ventana de vista previa de informes mediante uno de los métodos siguientes:
  • En la barra de herramientas Vista previa del informe, haga clic en el botón Imprimir .
  • Haga clic con el botón secundario de la ventana Vista previa del informe y, a continuación, haga clic en Imprimir .
Quizás desee deshabilitar esta opción. En versiones anteriores de Visual FoxPro, el archivo de Visual FoxPro recursos (FoxUser.dbf) tenía que se va a cambiar. Para obtener más información acerca de cómo hacerlo, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
317466Cómo quitar los botones de la barra de herramientas preliminar

En Visual FoxPro 9.0, puede cambiar el archivo FoxUser.dbf para deshabilitar la impresión desde la ventana de vista previa del informe. Sin embargo, con la introducción del informe Object-assisted, un enfoque alternativo está ahora disponible. De forma predeterminada, no está habilitado Object-assisted informes en Visual FoxPro 9.0. Para habilitarla, deberá cambiar la configuración de REPORTBEHAVIOR. Para ello, utilice uno de los métodos siguientes:
  • método 1
    Cambie la opción comportamiento de motor de informes a través del IDE de Visual FoxPro:
    1. En el menú Herramientas , haga clic en Opciones .
    2. En el cuadro de diálogo Opciones , haga clic en la ficha informes y, a continuación, seleccione 90 (objeto asistido) en la lista comportamiento del motor de informes .
    3. (Opcional) Si desea que esta opción para conservar entre sesiones de Visual FoxPro 9.0, haga clic en Establecer como predeterminado el cuadro de diálogo Opciones .
  • método 2
    Ejecute el comando siguiente en el código para habilitar Reporting Object-assisted:
    SET REPORTBEHAVIOR 90

Ejemplo de código

Cuando se ejecuta en el siguiente ejemplo de código, el archivo de informe de ejemplo que se denomina Colors.frx vista previa. El ejemplo de código se muestra una vista previa el informe y utiliza una combinación de configuración de propiedad en el contenedor de vista previa y el controlador de extensión de vista previa para deshabilitar completamente la impresión desde la ventana de vista previa del informe.

En este ejemplo de código también soluciona un problema en la vista previa asistido de objetos de Visual FoxPro 9.0 del informe donde la barra de herramientas Vista previa de informes no persiste correctamente configuración de pantalla entre apariencia en la misma sesión de vista previa del informe. Para obtener más información acerca de este problema, consulte la sección "Referencias".

En este ejemplo de código se aplica tanto al entorno de desarrollo de Visual FoxPro 9.0 y a archivos ejecutables que se crean mediante Visual FoxPro 9.0, mientras utilizas Object-assisted Reporting.

Para utilizar este ejemplo de código, siga estos pasos:
  1. Guarde el código siguiente a un nuevo archivo de programa en Visual FoxPro 9.0 y, a continuación, ejecute el código.
    *----------- START CODE
    *
    *-----------------------------------
    * AUTHOR: Trevor Hancock
    * CREATED: 02/24/05 02:47:08 PM
    * ABSTRACT:
    *   Shows how to disable printing from
    *   PREVIEW when you use object-assisted
    *   reporting in VFP9.
    *
    *   Also includes a workaround for problem
    *   where the PREVIEW toolbar does not
    *   recognize the TextOnToolbar or
    *   PrintFromPreview settings between
    *   toolbar displays during same preview.
    *-----------------------------------
    
    *-- Defines whether to alllow for
    *-- printing during preview. Used to set
    *-- the "AllowPrintfromPreview" property
    *-- of the object-assisted preview container
    *-- later in this code.
    #DEFINE PrintFromPreview .T.
    
    LOCAL loPreviewContainer AS FORM, ;
    	loReportListener AS REPORTLISTENER, ;
    	loExHandler AS ExtensionHandler OF SYS(16)
    
    *-- Get a preview container from the
    *-- .APP registered to handle object-assisted
    *-- report previewing.
    loPreviewContainer = NULL
    DO (_REPORTPREVIEW) WITH loPreviewContainer
    *-- Create a PREVIEW listener
    loReportListener = NEWOBJECT('ReportListener')
    loReportListener.LISTENERTYPE = 1 &&Preview
    
    *-- Link the Listener and preview container
    loReportListener.PREVIEWCONTAINER = loPreviewContainer
    
    *-- Changing this property prevents printing from the Preview toolbar
    *-- and from right-clicking on the preview container, and then clicking "print".
    *-- This property is not in the VFP9 documentation at this point.
    loPreviewContainer.AllowPrintfromPreview = PrintFromPreview
    *-- Controls appearance of text on some of the
    *-- Preview toolbar buttons. .F. is the default.
    *-- Included here just to show that it is an available option.
    loPreviewContainer.TextOnToolbar = .F.
    
    *-- Create an extension handler and hook it to the
    *-- preview container. This will let you manipulate
    *-- properties of the container and its Preview toolbar
    loExHandler = NEWOBJECT('ExtensionHandler')
    loPreviewContainer.SetExtensionHandler( loExHandler )
    
    
    REPORT FORM ;
    	HOME() + 'Samples\Solution\Reports\colors.frx' ;
    	OBJECT loReportListener
    
    RELEASE loPreviewContainer, loReportListener, loExHandler
    
    
    
    *-------------------------
    *-------------------------
    DEFINE CLASS ExtensionHandler AS CUSTOM
    	*-- Ref to the Preview Container's Preview Form
    	PreviewForm  = NULL
    
    	*-- Here you implement (hook into) the PreviewForm_Assign
    	*-- event of the preview container's parent proxy
    	PROCEDURE PreviewForm_Assign( loRef )
    		*-- Perform default behavior: assign obj ref.
    		THIS.PreviewForm = loRef
    
    		*-- Grab the obj ref to the preview form and bind to its
    		*-- ShowToolbar() method. This lets the
    		*-- STB_Handler() method of this extension handler
    		*-- to run code whenever the Preview toolbar is shown
    		*-- by the PreviewForm.ShowToolbar() method.
    		IF !ISNULL( loRef )
    			BINDEVENT(THIS.PreviewForm, ;
    				'ShowToolbar', THIS, 'STB_Handler')
    		ENDIF
    	ENDPROC
    
    	PROCEDURE STB_Handler(lEnabled)
    		*-- Here you work around the setting
    		*-- persistence problem in the Preview toolbar. 
    		*-- The Preview toolbar class (frxpreviewtoolbar)
    		*-- already has code that you can use to enforce
    		*-- setting's persistence; it is just not called. Here,
    		*-- you call it.
    		WITH THIS.PreviewForm.TOOLBAR
    			.REFRESH()
    			*-- When you call frxpreviewtoolbar::REFRESH(), the
    			*-- toolbar caption is set to its Preview form,
    			*-- which differs from typical behavior. You must revert that
    			*-- to be consistent. If you did not do this,
    			*-- you would see " - Page 2" appended to the toolbar
    			*-- caption if you skipped pages.
    			.CAPTION = THIS.PreviewForm.formCaption
    		ENDWITH
    	ENDPROC
    
    
    	*-- A preview container requires these methods
    	*-- to be implemented in an associated preview extension handler.
    	*-- They are not used in this example, but still must be here.
    PROCEDURE AddBarsToMenu( cPopup, iNextBar )
    	PROCEDURE SHOW( iStyle )
    	ENDPROC
    	PROCEDURE HandledKeyPress( nKeyCode, nShiftAltCtrl )
    		RETURN .F.
    	ENDPROC
    	PROCEDURE PAINT
    	ENDPROC
    	PROCEDURE RELEASE
    		RETURN .T.
    	ENDPROC ENDDEFINE
    *
    *
    *----------- END CODE
    
    abrirá una vista previa del informe Colors.frx.

    Nota Puede imprimir desde la ventana de vista previa del informe haciendo clic en la vista previa o haciendo clic en Imprimir en la barra de herramientas Vista previa del informe.
  2. Cierre la vista previa y, a continuación, modifique el código en el editor del programa.
  3. Cambie la instrucción # define en la parte superior del código a un valor de .F . Para ello, busque el código siguiente.
    #DEFINE PrintFromPreview .T.
    Reemplace con el siguiente código:
    #DEFINE PrintFromPreview .F.
  4. Guarde el código y, a continuación, ejecútela de nuevo.
Observe que ahora no puede imprimir desde la ventana de vista previa del informe haciendo clic en la vista previa o haciendo clic en Imprimir en la barra de herramientas Vista previa del informe.

Referencias

Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
317466Cómo quitar los botones de la barra de herramientas preliminar
895278Error: La barra de herramientas Object-assisted preliminar no conserva su configuración en Visual FoxPro 9.0 Professional

Propiedades

Id. de artículo: 895279 - Última revisión: miércoles, 02 de agosto de 2006 - Versión: 2.2
La información de este artículo se refiere a:
  • Microsoft Visual FoxPro 9.0 Professional Edition
Palabras clave: 
kbmt kbhowto KB895279 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 895279

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com