Cómo quitar botones de la barra de herramientas Vista preliminar

Resumen

Este artículo describe cómo quitar botones de la barra de herramientas de Vista preliminar y cómo utilizar la barra de herramientas en un archivo ejecutable.


Esta técnica se aplica a Microsoft Visual FoxPro 8.0 y versiones anteriores. Esta técnica también se aplica a Visual FoxPro 9.0 "SET REPORTBEHAVIOR 80" está habilitada. Con "REPORTBEHAVIOR" establecido en "90" en Visual FoxPro 9.0, este proceso es mucho más fácil cuando se utiliza un evento reporting.

Más información

Los pasos siguientes describen cómo quitar el botón Imprimir de la barra de herramientas Vista preliminar . Por ejemplo, se utiliza el botón Imprimir . Sin embargo, cualquiera de los botones se pueden quitar. Es aconsejable quitar el botón Imprimir , por ejemplo, si desea que los usuarios de la aplicación para poder obtener una vista previa de un informe, pero no para imprimirlo.
  1. Pegue el código siguiente en un archivo de programa (.prg) y, a continuación, ejecute el programa desde la ventana de comandos:
    LOCAL lcResourceFileStemIF '05.'$VERSION()  && Foxtools required in VFP5
    SET LIBRARY TO HOME()+'foxtools.fll'
    ENDIF
    SET SAFETY OFF

    lcResourceFileStem = ADDBS(JUSTPATH(SYS(2005)))+JUSTSTEM(SYS(2005))
    SET RESOURCE OFF
    * Copy the current resource file to NoPrint which is
    * used to store changes to the Print Preview toolbar.
    COPY FILE (lcResourceFileStem + ".dbf") ;
    TO noprint.DBF
    COPY FILE (lcResourceFileStem + ".fpt") ;
    TO noprint.fpt

    * Remove current settings by deleting all records in the table.
    USE noprint.DBF EXCLUSIVE
    ZAP
    USE
    CLOSE ALL

    * Create a table to use for a simple report and put some data in it.
    DELETE FILE PrintTest.DBF
    CREATE TABLE PrintTest (NAME C(30), Address C(20), City C(20), State C(2))
    INSERT INTO PrintTest VALUES ("Jodie Garber", "1234 Jones St", "Phoenix", "AZ")
    INSERT INTO PrintTest VALUES ("Holly Johnson", "675 Smith St", "Chicago", "IL")
    INSERT INTO PrintTest VALUES ("Jack Reacher", "968 Duvall Street", "Key West", "FL")
    INSERT INTO PrintTest VALUES ("Beau Borken", "1515 Main St", "York", "MT")

    * Create a report and preview it.
    CREATE REPORT PrintTest FROM PrintTest COLUMN
    USE IN PrintTest
    SET RESOURCE TO noprint.DBF
    REPORT FORM PrintTest PREVIEW NOWAIT
    IF '05.'$VERSION() && Turn off Foxtools in VFP5
    SET LIBRARY TO
    ENDIF
    RETURN

  2. Haga clic derecho en la barra de título de la barra de herramientas de Vista preliminar y, a continuación, haga clic en Personalizar. Si se acopla la barra de herramientas Vista preliminar , contextual entre los botones de la barra de herramientas.
  3. En la sección categorías, haga clic en Vista preliminar, haga clic en el botón Imprimir y arrástrelo fuera de la barra de herramientas.
  4. Haga clic en el botón Cerrar para cerrar el cuadro de diálogo Personalizar barra de herramientas .
  5. Haga clic en el botón Cerrar en la barra de herramientas Vista preliminar para cerrar la barra de herramientas Vista preliminar .
  6. En la ventana comando, escriba el comando siguiente:
    SET RESOURCE OFF
  7. Pegue el código siguiente en un archivo de programa (.prg) y, a continuación, ejecute el programa desde la ventana de comandos:

    Nota: Este paso sirve para demostrar que se ha quitado el botón Imprimir de la barra de herramientas Vista preliminar . El código se ejecutará en Visual FoxPro 6.0 y versiones posteriores, pero los pasos descritos anteriormente pueden utilizarse en Visual FoxPro 5.0. Puede probar en Visual FoxPro 5.0 por generar manualmente un proyecto que tiene un programa principal que contiene el recurso establecido para NoPrint y el comando formulario del informe.
    #DEFINE CRLF CHR(13) + CHR(10)
    LOCAL cMain

    CLOSE ALL
    * Delete any projects with the same name.
    DELETE FILE PrintTest.PJ?
    SET SAFETY OFF
    * Open the table used by the report.
    cMain = "USE PrintTest " + CRLF

    * Set the resource file to the one that does not have
    * a print button on it.
    cMain = cMain + "SET RESOURCE TO NoPrint" + CRLF
    cMain = cMain + "REPORT FORM PrintTest PREVIEW" + CRLF

    * Save the string cMain to main.prg.
    STRTOFILE(cMain,"Main.Prg")

    * Create a project and add all the files that the project needs.
    CREATE PROJECT PrintTest NOWAIT
    _VFP.ActiveProject.Files.Add("Main.Prg")
    _VFP.ActiveProject.Files.Add("PrintTest.Frx")

    * Add the resource file that the print button was removed
    * from and include it in the executable. This makes it read only.
    * If the resource file is read only, changes made to the
    * environment at runtime will not be saved.
    _VFP.ActiveProject.Files.Add("NoPrint.Dbf")
    _VFP.ActiveProject.Files.Item(3).Exclude = .F.

    * Compile the project into an executable.
    _VFP.ActiveProject.Build("PrintTest.Exe",3,.T., .T.)

  8. Ejecute PrintTest.exe y observe que la barra de herramientas no tiene un botón Imprimir . Haga doble clic en PrintTest.exe en el Explorador de Windows para ejecutar el programa, o puede ejecutar el siguiente comando desde la ventana de comandos:
    RUN /N PrintTest.exe
  9. Haga clic en el botón Cerrar en la barra de herramientas Vista preliminar para cerrar la barra de herramientas.
Propiedades

Id. de artículo: 317466 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios