AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Controles, páginas y ventanas / Funciones de ventanas
  • Abrir la ventana emergente
  • Características de la ventana emergente (popup)
  • Limitaciones
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 emergente cuyo resultado se obtendrá mediante un procedimiento WLanguage ("callback").
Ejemplo
// Open a popup window without passing parameters
OpenPopupAsynchronous(WIN_SelectColor, popBelow + popAlignedRight + popAccordingToControl,
"BTN_ActionColor", CloseColorSelect)
INTERNAL PROCEDURE CloseColorSelect(SelectedColor)
IMG_PRODUCT.Color = SelectedColor
END
// Open a popup window with parameters
OpenPopupAsynchronous(WIN_SelectColor, popBelow + popAlignedRight + popAccordingToControl,
"BTN_ActionColor", CloseColorSelect, DarkRed)
INTERNAL PROCEDURE CloseColorSelect(SelectedColor)
IF SelectedColor <> -1 THEN
IMG_PRODUCT.Color = SelectedColor
END
END
Sintaxis
OpenPopupAsynchronous(<Window> [, <Parameters> [, <Opening mode> [, <Reference control>]]] [, <WLanguage procedure>])
<Window>: Nombre de ventana
Nombre de la ventana a abrir.
<Parameters>: Cadena de caracteres
Lista de parámetros a pasar a la ventana. La lista de parámetros tiene el siguiente formato:
(<Parameter 1>, ..., <Parameter N>)

donde:
  • <Parameter 1>: 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 como una variable global de la ventana.
    Este parámetro no puede corresponder a una variable de tipo array (los arrays solo se pueden pasar por referencia).
  • <Parameter N>: 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 como una variable global de la ventana.
    Este parámetro no puede corresponder a una variable de tipo array (los arrays solo se pueden pasar por referencia).
Si la ventana no espera ningún parámetro, este parámetro debe establecerse como "()".
<Opening mode>: Combinación de constantes
Especifica la posición y el modo de apertura de la ventana emergente. Las constantes son las siguientes:
popAboveLa ventana emergente se abre sobre el control que hace la llamada.
popAccordingToControlAbre la ventana emergente con respecto a la posición de un control distinto al control que hace la llamada. En este caso:
  • se debe especificar el nombre del control (parámetro <Control name>).
  • el nombre del control se obtendrá automáticamente con la palabra clave MyPopupControl.
popAlignedLeftEl borde izquierdo de la ventana emergente se alinea con el borde izquierdo del control. La ventana emergente se expande hacia la derecha.
popAlignedRightEl borde derecho de la ventana emergente se alinea con el borde derecho del control. La ventana emergente se expande hacia la izquierda.
popBelowLa ventana emergente se abre debajo del control que hace la llamada.
popCenteredHorizontallyLa ventana emergente se centra horizontalmente con el control que hace la llamada.
popCenteredWindowLa ventana emergente se centra con respecto a la ventana principal.
popDefault
(Valor predeterminado)
De forma predeterminada, se utilizan las constantes popAlignedLeft + popBelow.
popDisableAutoRepositioningDesactiva el posicionamiento automático si hay riesgo de que la ventana emergente no se muestre completamente en la pantalla.
Android No disponible.
<Reference control>: Nombre de control opcional
Nombre del control debajo del que se debe abrir la ventana emergente. Este parámetro debe especificarse solo si se utilizó la constante popAccordingToControl.
<WLanguage procedure>: Nombre del procedimiento o procedimiento lambda opcional
Nombre del procedimiento WLangage ("callback") al que se llama después de cerrar la ventana. Para obtener más información sobre este procedimiento, consulte Parámetros del procedimiento utilizado por la función OpenPopupAsynchronous.
Este procedimiento WLanguage puede corresponder a:
  • el nombre de un procedimiento global,
  • el nombre de un procedimiento interno,
  • un procedimiento lambda.
Observaciones

Abrir la ventana emergente

  • La función OpenPopupAsynchronous abre la ventana en modo modal y asíncrono:
    • la ejecución del código continúa sin esperar a que se cierre la ventana emergente,
    • el procedimiento WLanguage se llama cuando se cierra la ventana emergente.
    • si el usuario hace clic en otra ventana, se cierra la ventana emergente.

Características de la ventana emergente (popup)

  • La ventana emergente se cierra automáticamente si pierde el foco, o cuando se llama a la función Close.
  • Las ventanas abiertas con la función OpenPopupAsynchronous adoptan el estilo de las ventanas emergentes. Si se definió una barra de título en el editor, la barra de título se reduce y la ventana no se puede maximizar o minimizar.
  • De forma predeterminada, la ventana emergente se abre debajo del control que llama a la función OpenPopupAsynchronous. Si no hay suficiente espacio para abrir la ventana, ésta se abrirá por encima del control o por debajo del control a la izquierda.

Limitaciones

  • La función OpenPopupAsynchronous debe ejecutarse desde el código de un control.
  • El control que llama a la función OpenPopupAsynchronous debe ser visible.
  • Una ventana no modal no puede abrirse desde una ventana emergente. Para abrir una ventana, se debe utilizar la función Open. Cuando se abre una ventana modal desde una ventana emergente, la ventana emergente no se cierra automáticamente.. En este caso, se debe procesar el valor de retorno de la función Open y utilizar la función Close para cerrar la ventana emergente.
  • Una ventana emergente no puede abrirse desde otra ventana emergente.
Componente: wd290obj.dll
Versión mínima requerida
  • Versión 27
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 01/07/2022

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