AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de Windows / Funciones de cuadros de diálogo
  • Uso de una sintaxis con asistente
  • Características del cuadro de diálogo
  • Varios
  • Aplicación en segundo plano: Caso específico a partir de Android 10
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
Muestra un cuadro de mensaje no bloqueante y llama a un procedimiento WLanguage con el valor del botón pulsado por el usuario.
Observaciones:
  • Este cuadro de diálogo no es bloqueante. El código WLanguage que sigue la llamada a la función DialogAsynchronous continúa ejecutándose. Para cerrar la ventana, el usuario debe hacer clic en uno de los botones. Cuando el usuario hace clic en uno de los botones, se ejecuta el código de un procedimiento WLanguage.
  • En el código WLanguage que sigue la llamada a la función, no se puede abrir otra ventana modal antes de cerrar el cuadro de diálogo.
  • WINDEV WINDEV permite aplicar la plantilla del proyecto al cuadro de diálogo. Para obtener más información, consulte Personalizar cuadros de diálogo.
Ejemplo
// 1: Save
// 2: Do not save
DialogAsynchronous("Do you want to save the changes made to %1?", ...
MyProcedure_Dialog, sFile)
 
INTERNAL PROCEDURE MyProcedure_Dialog(nResult)
IF nResult = 1 THEN
ToastDisplay("save")
END
END
Sintaxis

Sintaxis utilizando el asistente Ocultar los detalles

DialogAsynchronous(<Message ID> , <WLanguage procedure> [, <Parameter 1> [... [, <Parameter N>]]])
<Message ID>: Entero
Identifica la pregunta formulada al usuario así como las diferentes respuestas posibles.
<WLanguage procedure>: Nombre de procedimiento o procedimiento lambda
Nombre del procedimiento WLanguage ("callback") al que se llama cuando el usuario hace clic en uno de los botones de la ventana de diálogo. Este procedimiento permite saber qué botón se pulsó, y ejecutar un proceso específico, si es necesario.
Para obtener más información sobre este procedimiento, consulte Parámetros del procedimiento utilizado por la función DialogAsynchronous.
Este procedimiento WLanguage puede corresponder a:
  • el nombre de un procedimiento global o local,
  • el nombre de un procedimiento interno,
  • un procedimiento lambda.
<Parameter 1>: Cadena de caracteres opcional
Si el mensaje seleccionado contiene elementos con parámetros (identificados por %1, %2, etc.), este parámetro se utiliza para dar el valor deseado al primer elemento. Así, el valor de <Parámetro 1> reemplazará %1.
<Parameter N>: Cadena de caracteres opcional
Si el mensaje seleccionado contiene elementos con parámetros (identificados por %1, %2, etc.), este parámetro se utiliza para dar el enésimo valor deseado al elemento N. Así, el valor de <Parámetro N> reemplazará %N.
Observaciones

Uso de una sintaxis con asistente

Para utilizar esta sintaxis, se debe utilizar el asistente propuesto al escribir el nombre de la función en el editor de código (opción "<Asistente>" propuesta por la entrada predictiva). Este asistente permite especificar los parámetros del cuadro de diálogo que se utilizará. Esta función no se puede utilizar si el asistente no crea la ventana de diálogo.
Para abrir el asistente:
  1. En el editor de código, introduzca "DialogAsynchronous(".
  2. Haga clic en la opción "Asistente". El asistente se abre. Pase a la etapa siguiente.
  3. Seleccione una pregunta existente o cree una nueva pregunta (opción <Haga clic aquí para crear una nueva pregunta>). Pase a la etapa siguiente.
  4. Si ha elegido crear una pregunta, se abre una pantalla. Esta pantalla permite introducir los diferentes parámetros de la ventana de diálogo utilizada para realizar la pregunta. Es posible indicar:
    • El texto de la pregunta,
    • La imagen del cuadro de diálogo,
    • Los botones que permiten al usuario responder.
  5. Valide la pantalla en la que se definió la pregunta. El código correspondiente se inserta automáticamente en el editor de código. Pulse de nuevo la tecla ENTRAR. Todo el código se agrega en el editor de código. Las características del cuadro de diálogo se pueden modificar mediante el ícono que se encuentra junto al texto de la pregunta.
  6. Introduzca el nombre del procedimiento WLanguage utilizado.
Observación: Para escribir el código WLanguage que corresponde al procedimiento WLanguage, las opciones que corresponden a los botones del cuadro de diálogo se indican como comentario antes de llamar a la función DialogAsynchronous.

Características del cuadro de diálogo

  • El título del cuadro de diálogo corresponde al título de la ventana (o página) actual.
    AndroidiPhone/iPad Para cumplir con las especificaciones del sistema, el título del cuadro de diálogo está vacío. Para definir el título, utilice la función NextTitle.
  • Para modificar o definir el título del cuadro de diálogo, utilice la función NextTitle.
  • WINDEVWINDEV Mobile La plantilla del proyecto actual se aplica automáticamente al cuadro de diálogo.
  • Android Las características del cuadro de diálogo son las siguientes:
    • El cuadro de diálogo que se muestra utiliza el estilo del sistema.
    • El cuadro de diálogo no debe contener más de 3 botones. Los botones adicionales no se mostrarán.
    • La ubicación de los botones depende de la versión de Android. Por defecto, el botón de validación está a la derecha. Para cambiar el orden de los botones, abra el asistente de edición de preguntas y deseleccione la opción "Utilizar orden definido por el sistema para los botones validar/cancelar".
  • iPhone/iPad El cuadro de diálogo que se muestra es un cuadro de diálogo nativo de iPhone/iPad.

Varios

  • WINDEV La función DelayBeforeClosing limita el tiempo del mensaje en la pantalla. El cuadro de diálogo se cierra automáticamente. Para los cuadros de diálogo de pregunta o confirmación, la respuesta esperada corresponde al botón predeterminado.
  • iPhone/iPad Esta función no debe utilizarse:
    • en el evento "Modificación del tamaño" de la ventana. De lo contrario, se bloqueará la aplicación.
    • en el evento "Cambio de orientación" de la ventana.
    • en el evento "Paso a primer plano" del proyecto.
      Observación: La función se puede utilizar en el evento "Paso a primer plano" de una ventana.
    • en un hilo.
Android

Aplicación en segundo plano: Caso específico a partir de Android 10

A partir de Android 10, no se puede abrir una ventana si la aplicación está en segundo plano.
La función DialogAsynchronous puede abrir una ventana. Si se utiliza esta función cuando la aplicación está en segundo plano, se producirá un error fatal.
Consejos:
  • Para saber si la aplicación está en segundo plano, utilice la función InBackgroundMode.
  • Si una aplicación necesita interactuar con el usuario cuando está en segundo plano, se puede mostrar una notificación (con el tipo Notification). La aplicación volverá al primer plano cuando se haga clic en la notificación, si la propiedad ActivateApplication se establece en True. También es posible abrir una ventana desde el procedimiento pasado a la propiedad ActionClick.
Para obtener más información, consulte Android 10: Comportamiento de aplicaciones en segundo plano.
Componente: wd290obj.dll
Versión mínima requerida
  • Versión 25
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 21/06/2023

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