AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Controles, páginas y ventanas / Funciones de ventanas
  • Parámetros pasados a la ventana secundaria para abrir
  • Modo de apertura de la ventana
  • Posición de la ventana principal
  • Abrir la misma ventana varias veces
  • Limitaciones
  • Cerrar una ventana
  • Título de la ventana a abrir
  • Abrir la ventana de un componente
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Abre una ventana infantil no modal. La función OpenChild también permite:
  • definir la posición de visualización de la ventana secundaria,
  • pasar parámetros a la ventana secundaria.
Los siguientes eventos se ejecutan cuando se llama a OpenChild:
  • "Declaraciones globales" de la ventana hija,
  • Códigos de inicialización de control (orden indefinido),
  • procesos/eventos después de la llamada a la función OpenChild de la ventana padre,
  • se muestra la ventana secundaria.
Observación: Por Default, la ventana del niño se mantiene enfocada una vez que se abre.
WEBDEV - Código ServidorWindowsLinux Esta función solo está disponible para simplificar la Webificación de proyectos WINDEV. En un sitio WEBDEV, esta función tiene el mismo comportamiento que la función PageDisplay.
// Open the child window named "WIN_EditWindow"
// without positioning and without passing parameters
OpenChild(WIN_EditWindow)
// Open the child window named "WIN_EditWindow".
// The value of the "EDT_EditCustomer" control is passed as parameter to the event
// "Global declarations" of "WIN_EditWindow".
OpenChild(WIN_EditWindow, EDT_EditCustomer)
// -- Event "Global declarations" of "WIN_EditWindow"
// Retrieve the parameters
PROCEDURE WIN_EditWindow(Customer)
HReadSeek(Customer, CustomerName, Customer)
IF HFound() = True THEN
FileToScreen()
ELSE
Error("No customer matches")
END
Sintaxis

Abrir una ventana infantil Ocultar los detalles

OpenChild(<Window> [, <Parameter 1> [... [, <Parameter N>]]])
<Window>: Cadena o nombre de la ventana
  • Nombre de la ventana secundaria que se abrirá.
  • Nombre y ruta completa de la ventana secundaria (archivo".WDW") a abrir.
    Universal Windows 10 AppAndroidJava No se puede especificar el nombre completo del archivo a abrir (archivo ".WDW").
WINDEV Para no poner foco a la ventana abierta, utilice la sintaxis <Nombre de la ventana> + NoFocus. La ganancia de enfoque Process de la ventana del niño no se ejecutará. Atención: en este caso, el nombre de la ventana debe ir entre comillas.
<Parameter 1>: Tipo de valor enviado a la ventana (opcional)
Primer parámetro que se pasará al evento "Declaraciones globales" de la ventana a abrir. Este parámetro se pasa por valor y se considera una Variable global a la ventana.
Este parámetro no puede corresponder a una variable de tipo array (los arrays solo se pueden pasar por referencia).
<Parameter N>: Tipo de valor enviado a la ventana (opcional)
Enésimo parámetro que se pasará al evento "Declaraciones globales" de la ventana que se abrirá. Este parámetro se pasa por valor y se considera una Variable global a la ventana.
Este parámetro no puede corresponder a una variable de tipo array (los arrays solo se pueden pasar por referencia).

Abrir una ventana para niños mientras se define su posición y su nivel de visualización Ocultar los detalles

OpenChild(<Window name [ + <Level>]> [, <Parameter 1> [... [, <Parameter N>]]])
<Window name [ + <Level>]>: Cadena de caracteres + Constante entera
Se utiliza para especificar:
  • la ventana para abrir (<Nombre de la ventana>). Este parámetro puede corresponder a:
    • Nombre de la ventana secundaria que se abrirá.
    • Nombre y ruta completa de la ventana secundaria (archivo".WDW") a abrir.
      Universal Windows 10 AppAndroidJava No se puede especificar el nombre completo del archivo a abrir (archivo ".WDW").
    Por defecto, la ventana se muestra según la posición definida en el editor. Se puede definir la posición en la que se mostrará la ventana. El nombre de la ventana se completa con las coordenadas de visualización de la ventana al abrirse. Este parámetro tiene el siguiente formato:
    "[<Alias>] = <Window name> [, <Y>, <X>]"

    donde:
    • <Alias>: alias de la ventana si la misma ventana se abre varias veces.
    • <Nombre de ventana>: nombre de la ventana secundaria que se abrirá.
      WINDEV Para no poner foco a la ventana abierta, utilice la sintaxis <Nombre de la ventana> + NoFocus. No se ejecutará la "ganancia de foco" de la ventana hija de Event. Atención: en este caso, el nombre de la ventana debe ir entre comillas.
    • <Y>: coordenada vertical de visualización (en píxeles) de la ventana (en relación con la Corner superior izquierda de la pantalla o de la ventana padre).
    • <X>: coordenadas de visualización horizontal (en píxeles) de la ventana (en relación con la Corner superior izquierda de la pantalla o ventana matriz).
    Observaciones:
    • Universal Windows 10 App Los parámetros <X> y <Y> no están disponibles.
    • Si se define la ventana como centrada en el editor, se ignorarán las coordenadas. Se recomienda utilizar WinSize para cambiar la posición de una ventana.
  • el nivel de visualización de la ventana (<Nivel>):
    AboveLa ventana abrió a Above todas las ventanas de sus hermanos.
    AboveAllLa ventana abrió a Above todas las demás ventanas (incluyendo las ventanas de otras aplicaciones).
    Universal Windows 10 AppAndroidJava Constante no disponible.

    Si se utiliza una de estas constantes, el nombre de la ventana debe ir entre comillas.
    Observación: Si se abren dos ventanas con la misma constante (Above o AboveAll), la segunda ventana se abrirá por encima de la primera.
    Se recomienda utilizar WinStatus para cambiar el nivel de visualización de una ventana.
    Universal Windows 10 App Parámetro no disponible.
<Parameter 1>: Tipo de valor enviado a la ventana (opcional)
Primer parámetro que se pasará al evento "Declaraciones globales" de la ventana a abrir. Este parámetro se pasa por valor y se considera una Variable global a la ventana.
Este parámetro no puede corresponder a una variable de tipo array (los arrays solo se pueden pasar por referencia).
<Parameter N>: Tipo de valor enviado a la ventana (opcional)
Enésimo parámetro que se pasará al evento "Declaraciones globales" de la ventana que se abrirá. Este parámetro se pasa por valor y se considera una Variable global a la ventana.
Este parámetro no puede corresponder a una variable de tipo array (los arrays solo se pueden pasar por referencia).
Observaciones

Parámetros pasados a la ventana secundaria para abrir

Los parámetros se obtienen en el evento "Declaraciones globales" de la ventana. Simplemente escriba la siguiente Line de código al principio:
PROCEDURE <Window name> (<Parameter1> [, <Parameter2> [, ...]])
Estos parámetros se pasan por valor y no por referencia.
Para obtener más información, consulte Ventana con parámetros.

Modo de apertura de la ventana

La ventana se abre en modo no modal:
  • la ventana secundaria se convierte en la ventana actual.
  • una vez abierta la ventana hija, se ejecutan los procesos que siguen la llamada a la función OpenChild en la ventana padre.
  • el usuario podrá hacer clic en una de las ventanas padre de la ventana abierta.
    AndroidiPhone/iPadApple Watch El usuario no puede acceder a los controles de las ventanas padre si hay una ventana hija abierta.
WINDEV Observación: La función OpenChild pone foco a la ventana hija. El código para obtener el foco se ejecuta en la ventana hija y el código para perder el foco se ejecuta en la ventana padre. Para que la ventana padre conserve el foco, utilice la constante NoFocus en el parámetro <Nombre de la ventana>.
Para gestionar el MDI, utilice MDIOpen.

Posición de la ventana principal

La ventana principal siempre permanece debajo de la ventana secundaria, incluso si la ventana principal está en edición.
Si esta situación no es adecuada, la ventana hija debe ser abierta por OpenSister (siempre que la ventana padre sea una ventana no modal).
WINDEVReportes y ConsultasCódigo de Usuario (UMC)

Abrir la misma ventana varias veces

  • Si la misma ventana se abre varias veces, le recomendamos que utilice un alias. Este alias se utiliza para diferenciar entre cada ventana.
  • La posición de la ventana de llamada (relativa a la pantalla o a la ventana principal) se selecciona cuando la ventana se describe en el editor. Si la misma ventana se abre varias veces (con un alias), las posiciones de la pantalla deben modificarse en cada apertura (de lo contrario, las ventanas se apilan).
  • El número de ventanas que pueden abrirse simultáneamente depende de la memoria disponible.

Limitaciones

  • La función OpenChild no debe llamarse en el código de inicialización de un proyecto.
    WINDEV Para mostrar una ventana "splash screen" al inicio de la aplicación, utilice la opción "Splash screen" al crear el ejecutable.
  • Universal Windows 10 App La función OpenChild no debe llamarse en el código de cierre de una ventana hija.

Cerrar una ventana

Una ventana abierta con la función OpenChild puede cerrarse con la función Cerrar (sin parámetros) desde cualquier evento:
  • de la ventana,
  • de una ventana control.
Si se cierra una ventana padre, también se cierran las ventanas hijas.

Título de la ventana a abrir

Por defecto, el título de la ventana es el definido en el editor.
Para modificar el título de la ventana, utilice las funciones NextTitle o CurrentTitle.

Abrir la ventana de un componente

Para abrir la ventana de un componente, solo se debe utilizar el nombre de la ventana del componente (el componente del proyecto). Por ejemplo:
OpenChild(ComponentWindow)
Si se produce un conflicto con un elemento del proyecto, el nombre del elemento debe ir precedido del nombre del componente. Por ejemplo:
OpenChild(MyComponent.Window)
Para utilizar el nombre de la ventana en una variable, se debe especificar el nombre del componente. Por ejemplo:
sWindow is string ="MyComponent.MyWindow"
OpenChild(sWindow)
Clasificación Lógica de negocio / UI: Código UI
Componente: wd290obj.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local