Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v18
Modo SDI en Windows

Modo SDI en Windows  


 

En Windows, los desarrolladores 4D pueden configurar sus aplicaciones con 4D fusionadas para trabajar como aplicaciones SDI (Single-Document Interface). En las aplicaciones SDI, cada ventana es independiente de otras y puede tener su propia barra de menús. Las aplicaciones SDI se oponen a las aplicaciones MDI (Multiple Documents Interface), donde todas las ventanas están contenidas y dependen de la ventana principal.

Nota para macOS: el concepto SDI/MDI no existe en macOS. Esta funcionalidad sólo se refiere a las aplicaciones Windows y las opciones relacionadas se ignoran en macOS.

El modo SDI sólo está disponible en el siguiente entorno de ejecución:

  • Windows
  • Aplicación 4D monopuesto o cliente fusionada

La activación y el uso del modo SDI en su aplicación requieren los siguientes pasos:

  1. Marque la opción Usar modo SDI en Windows en la página "Interfaz" del cuadro de diálogo Configuración de la base (ver Página Interfaz).
  2. Cree una aplicación fusionada (aplicación independiente y/o cliente, ver Terminar y desplegar aplicaciones finales).

Luego, cuando se ejecuta en un contexto soportado (ver arriba), la aplicación fusionada funcionará automáticamente en modo SDI.

La ejecución de una aplicación 4D en modo SDI no requiere ninguna implementación específica: las barras de menú existentes se mueven automáticamente en las propias ventanas SDI. Sin embargo, es necesario prestar atención a los principios específicos que se enumeran a continuación.

En el modo SDI, la barra de menús del proceso se muestra automáticamente en cada ventana del tipo de documento abierta durante la vida del proceso (esto excluye, por ejemplo, las paletas flotantes). Cuando la barra de menús del proceso no está visible, los accesos directos del elemento de menú permanecen activos.

Los menús se añaden arriba de las ventanas sin modificar el tamaño de su contenido:

Por lo tanto, Windows puede utilizarse en los modos MDI o SDI sin tener que volver a calcular la posición de los objetos.

Nota sobre la pantalla de bienvenida:

  • Si se seleccionó la opción de interfaz Pantalla de bienvenida para la base (ver Página Interfaz),  la ventana de bienvenida contendrá todo menú que se hubiera mostrado en la ventana MDI. Tenga en cuenta también que cerrar la ventana de inicio resultará en salir de la aplicación, al igual que en el modo MDI.
  • Si no seleccionó la opción Pantalla de bienvenida para la base, los menús se mostrarán sólo en ventanas abiertas, según las opciones del programador.

Cuando se ejecuta en modo MDI, una aplicación 4D simplemente se cierra cuando el usuario cierra la ventana de la aplicación (ventana MDI). Sin embargo, cuando se ejecutan en modo SDI, las aplicaciones 4D no tienen una ventana de aplicación y, por otro lado, cerrar la última ventana abierta no significa necesariamente que el usuario desee que la aplicación se cierre (por ejemplo, se pueden ejecutar procesos), aunque podría ser lo que quiere.

Para manejar este caso, las aplicaciones 4D ejecutadas en modo SDI incluyen un mecanismo para cerrar automáticamente (llamando al comando QUIT 4D) cuando se cumplen las siguientes condiciones:

  • El usuario ya no puede interactuar con la aplicación
  • No hay procesos usuario vivos
  • Los procesos 4D o los procesos worker están esperando un evento
  • El servidor Web no se inicia.         

Nota: cuando se llama a un menú con una acción estándar salir asociada, la aplicación se cierra y todas las ventanas se cierran, desde dondequiera que se haya llamado el menú.

Aunque es manejado de forma transparente por 4D, el modo SDI introduce pequeñas variaciones en la gestión de la interfaz de la aplicación. Las especificidades en el lenguaje 4D se listan a continuación.

 

Comando/funcionalidadEspecificidad en el modo SDI en Windows
Open form windowOpciones para soportar ventanas flotantes en SDI (Controller form window) y eliminar la barra de menús (Form has no menu bar)
Toolbar form window tipo de ventana no soportado
Menu bar heightDevuelve la altura en píxeles de una sola línea de barra de menú incluso si la barra de menús está en dos o más líneas. Devuelve 0 cuando el comando se llama desde un proceso sin una ventana de formulario
SHOW MENU BAR / HIDE MENU BARAplicada solo a la ventana de formulario actual (desde donde se ejecuta el código)
MAXIMIZE WINDOWLa ventana se maximiza al tamaño de la pantalla
CONVERT COORDINATESXY Screen ies el sistema de coordenadas global donde la pantalla principal es posicionada en (0,0). Las pantallas al lado izquierdo o en la parte superior pueden tener coordenadas negativas y toda pantalla al lado derecho o debajo puede tener coordenadas mayores que los valores devueltos por Screen height o Screen width.
GET MOUSELas coordenadas globales son relativas a la pantalla
GET WINDOW RECTCuando se pasa -1 en el parámetro window, el comando devuelve 0;0;0;0
Método base On DropNo soportado



Ver también 

Página Interfaz
Terminar y desplegar aplicaciones finales

 
PROPIEDADES 

Producto: 4D
Tema: Menús y barras de menús

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v16 R4

 
ARTICLE USAGE

Manual de Diseño ( 4D v18)