Cómo mostrar una ventana Vista preliminar como secundario MDI del formulario de nivel superior

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

Resumen

Visual FoxPro 5.0, puede crear formularios de nivel superior que no requieren el escritorio de Visual FoxPro para mostrar. Si muestra una vista previa del informe dentro de un formulario de nivel superior, primero debe mostrar el escritorio de Visual FoxPro para la vista previa sea visible del informe.

Visual FoxPro 6.0 ha agregado la capacidad para mostrar vistas previas de informe dentro de formularios de nivel superior. En este artículo describe cómo mostrar una vista previa del informe como una ventana de secundarios de múltiples documentos MDI (interfaz) en un formulario de nivel superior y también muestra cómo el tamaño de la vista previa para el formulario de nivel superior.

Más información

A continuación es un ejemplo que muestra la presentación de una vista previa del informe como un formulario MDI secundario de un formulario de nivel superior. Mediante código, creamos una tabla y un informe, a continuación, crear y mostrar un formulario de nivel superior.

Una vez que el formulario esté visible, puede mostrar la vista previa del informe haciendo clic en el CommandButton "Vista previa de informe".

Se puede mostrar la vista previa de dos maneras, en una ventana MDI secundaria del mismo tamaño que el formulario de nivel superior (el predeterminado, con la casilla de verificación activada) o en una ventana MDI secundaria maximizada dentro del formulario de nivel superior (desactivando la casilla de verificación).

  1. Ejecute el código siguiente desde un archivo de programa (.prg):
          CLEAR ALL
          PUBLIC oform
          LOCAL lnI
          CLOSE DATA ALL
          Delete file table_1.dbf
          CREATE TABLE table_1 (field1 C(10))
          FOR lnI = 1 TO 3
             INSERT INTO table_1 VALUES ('xx')
          ENDFOR
          Delete file report_1.fr?
          CREATE REPORT report_1 FROM table_1
    
          oform=CREATEOBJECT("TL_form")
          oform.SHOW()
          READ EVENTS
          CLOSE TABLES
    
          DEFINE CLASS TL_form AS FORM
             BorderStyle = 3
             ShowWindow = 2
             AutoCenter = .T.
             lIsFormUp=.F.
             Width = 500
    
             ADD OBJECT commandpreview AS COMMANDBUTTON WITH ;
                TOP = 180, ;
                LEFT = 210, ;
                HEIGHT = 27, ;
                WIDTH = 95, ;
                CAPTION = "Report Preview", ;
                NAME = "Commandpreview"
    
             PROCEDURE DESTROY
                Clear EVENTS
                _SCREEN.VISIBLE=.T.
                SET SYSMENU TO DEFAULT
             ENDPROC
    
             PROCEDURE ACTIVATE
                IF !THIS.lIsFormUp
                   _SCREEN.VISIBLE = .f.   && We wait till now to hide desktop
                                     && to ensure SDI form is active window.
                   this.lIsFormUp = .T.
                ENDIF
             ENDPROC
    
             ADD object chkType as checkbox with ;
                top = 20, ;
                caption = 'Check to preview in window sized to form, ' ;
                + 'uncheck to maximize in top level form', ;
                autosize = .t., ;
                value = .T., ;
                backstyle = 0, ;
                left = 30
    
    
             PROCEDURE commandpreview.CLICK
                LOCAL foTemplate, llClosable
                * Create template form
                foTemplate = newobj('form')
                foTemplate.Name = SYS(2015)
                foTemplate.Caption = "My Report Preview Window"
                foTemplate.mdiform = .T.
                foTemplate.top = 0
                foTemplate.left = 0
                * Size template form to top level form
                foTemplate.width = thisform.width - 8  && 8 is fudge for border
                foTemplate.height = thisform.height ;
                   - 8 - sysmetric(9) && sysmetric is for TitleBar height
                IF !thisform.chkType.value
                   KEYB '{ctrl+f10}'  && Maximize the Preview Window
                ENDIF
                llClosable = thisform.closable
                thisform.closable = .f.  && Make main form not closable
                REPORT FORM report_1 PREVIEW WINDOW (foTemplate.name)
                thisform.closable = llClosable   && Restore original setting
             ENDPROC
    
             PROC Init
                DO do_menu WITH THIS,.T.,.T.
             ENDPROC
    
          ENDDEFINE
    
          PROC do_menu  && This is stripped down code from Menu Designer menu
             LPARAMETERS oFormRef, getMenuName, lUniquePopups
             LOCAL cMenuName, a_menupops
    
             m.cMenuName = SYS(2015)
    
             DIMENSION a_menupops[1]
             a_menupops[1]="_mfile"
    
             DEFINE MENU (m.cMenuName) IN (m.oFormRef.Name) BAR
             DEFINE PAD _msm_file OF (m.cMenuName) PROMPT "\<File"
             ON PAD _msm_file OF (m.cMenuName) ACTIVATE POPUP (a_menupops[1])
             DEFINE POPUP (a_menupops[1]) MARGIN RELATIVE SHADOW COLOR SCHEME 4
             DEFINE BAR 1 OF (a_menupops[1]) PROMPT "C\<lose" ;
                SKIP FOR WEXIST("My Report Preview Window")
             ON SELECTION BAR 1 of (a_menupops[1]) _screen.activeform.release()
             Activate MENU (m.cMenuName) NOWAIT
          ENDPROC
    						
  2. Haga clic en vista previa del informe. Tenga en cuenta que la vista previa puede ser maximizada o minimizada dentro del formulario de nivel superior. El estado de la casilla de verificación determina si la vista previa muestra inicialmente maximizada o como una ventana secundaria. Cuando maximizada, la vista previa cambia su tamaño cuando cambia el tamaño del formulario de nivel superior. En caso contrario, puede ajustarse la vista previa independiente de la forma de nivel superior.

Referencias

Para obtener más información sobre cómo mostrar vistas previas de informe en formularios de nivel superior en Visual FoxPro 6.0 y utilizar la nueva sintaxis REPORT FORM... IN WINDOW, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
188887HOWTO: How to presentación preliminar en un formulario de nivel superior
Para información sobre el uso del escritorio de Visual FoxPro para mostrar vistas previas de informe de formularios de nivel superior en Visual FoxPro 5.0, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
156237PRB: Vista previa o diseñador de informes debe VFP escritorio para mostrar
(c) 1998 Microsoft Corporation, reservados todos los derechos. Contribuciones por Jim Saunders, Microsoft Corporation

Propiedades

Id. de artículo: 190069 - Última revisión: lunes, 12 de febrero de 2007 - Versión: 2.4
La información de este artículo se refiere a:
  • Microsoft Visual FoxPro 6.0 Professional Edition
  • Microsoft Visual FoxPro 7.0 Professional Edition
  • Microsoft Visual FoxPro 8.0 Professional Edition
  • Microsoft Visual FoxPro 9.0 Professional Edition
Palabras clave: 
kbmt kbhowto KB190069 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): 190069

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