Capturar evento "Abandonar modo pantalla completa"

Discute sobre las herramientas de la base de datos
Responder
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Capturar evento "Abandonar modo pantalla completa"

Mensaje por RMG »

Hola a todos,

Tengo un formulario que al abrirlo desactiva todas las barras de herramientas y se abre en modo pantalla completa, por lo que se, solo hay dos formas de salir de este.

1 Alt + F4 que lo cierra, este evento se puede obtener en Documento va a ser cerrado.

2 Picando sobre el mismo con el botón derecho, y en menú contextual, seleccionando abandonar modo pantalla completa, que no lo cierra pero te muestra lo que hay detrás. ¿Es posible de alguna forma, saber cuando se hace esto?.

Saludos a todos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Capturar evento "Abandonar modo pantalla completa"

Mensaje por Longi »

Buenas!

No, no te creas que te voy a responder a esta cuestión así como así, entre otra porque no termino de entender el fin de la pregunta....¿Puedes explicarte un poco más? (aún así no garantizo respuesta, claro está!)

Un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Capturar evento "Abandonar modo pantalla completa"

Mensaje por Longi »

Buenas otra vez!

Supongo que no es esto lo que quieres, pero es lo que he podido encontrar:

Añades un botón al formulario y le asignas esta minimacro:

Código: Seleccionar todo

Sub PantallaCompleta1(Event As Object)
   Dim oFrame As Object
   Dim oDispatchHelper
   Dim Args(0) As New com.sun.star.beans.PropertyValue 
   oFrame = ThisComponent.CurrentController.Frame 
   oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper") 
   Args(0).Name = "FullScreen" 
   Args(0).Value = False 
   oDispatcher.executeDispatch( oFrame , ".uno:FullScreen", "", 0, Args() ) 
End Sub
Con ello te abandona el modo 'FullScreen', aunque supongo que lo querías sin botón.....

Un saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Capturar evento "Abandonar modo pantalla completa"

Mensaje por RMG »

Hola,

Gracias Longi por responder. Efectivamente lo que quiero es obtener lo que hace el botón pero sin botón, como he comentado anteriormente al cerrar la pantalla completa con el menú contextual del mismo formulario. Seguiré mirando cosas.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Capturar evento "Abandonar modo pantalla completa"

Mensaje por Longi »

Buenas!

Abandonar el modo 'pantalla completa' digo yo que será como respuesta a algo, en algún momento quieres abandonar, y eso es debido a algo.
Estaría bien saber cuando o porqué, ya que si no hay ninguna acción sobre el formulario, no es posible aplicar evento (simplemente no hay evento), así que, como supongo que el formulario es como el de Gesfactura, será un poco complicado (no hay acción posible, salvo clickar botones).
De todos modos pensé en el evento 'Después de pulsar tecla', pero parece que para formularios no está disponible (con Ctr+Mayúsculas+J se puede pasar de pantalla completa a abandonarla, como en el ping-pong, así que pretendia simular ese conjunto de teclas para poder ir a un lado u otro, pero no hay ese evento en los formularios)

Otro saludo! ;)
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Capturar evento "Abandonar modo pantalla completa"

Mensaje por RMG »

Hola,

Lo que pretendo es que nadie pueda ver que hay detrás del formulario cuando esta abierto en modo pantalla completa, o sea la ventana de Base donde están las tablas formularios etc.

Con una macro al abrir el formulario ademas de hacerlo en pantalla completa, oculta todos las barras de herramientas y menús, por lo que para salir del mismo solo se puede hacer con click botón derecho en cualquier punto del formulario y seleccionar abandonar pantalla completa, o con Alt+F4 que en Windows cierra cualquier ventana abierta.

Como te digo si lo hago con Alt+F4 si capturo ese evento en Herramientas-> personalizar->eventos->Documento va a ser cerrado en el mismo formulario, pero si lo hago a través del menu contextual Abandonar modo pantalla completa no consigo capturar ese momento en que lo hago.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Capturar evento "Abandonar modo pantalla completa"

Mensaje por Longi »

Estuve mirando más cosas, y creo que está un poco complicado, ya que no parece que sea un evento de formulario, sino que tiene que ver con la ventana en la que está Open funcionando.
Si aplicas en un Writer cualquiera el atajo de teclado Ctrl+Mayúsculas+J consigues también la pantalla completa (por otra parte es lógico, ya que un formulario no deja de ser un documento de writer).

En el hilo https://forum.openoffice.org/en/forum/v ... 46b88da99e hay una respuesta de Nocton que sugiere el uso de un .vsb para iniciar la aplicación. Supone hacer una carpeta, meter en ella la aplicación, y añadir el .vsb. Para iniciar se clica en el .vsb
Lo probé con Gesfactura y solo abre el formulario de inicio, el resto de la aplicación no se ve.
Si escapas del modo pantalla completa te queda el formulario en su vista normal (con botón de cierre incluido, que es un peligro, ya que te bloquea el sistema y hay que matar el proceso 'soffice.bin', ir al icono habitual y recuperar), pero si se cierra con el botón de cerrado de la base completa, va perfecto.
Si cierras y después vuelves a abrir, si el proceso 'soffice.bin' sigue activo (como es en mi caso), entonces te abre con todo visible. Primero hay que matar el proceso y después ya puedes abrir sin problemas.
No creo que sea lo que necesitas, pero igual te sirve como vía de investigación.
Te dejo la carpeta completa según lo estuve manejando yo.
Le tuve que quitar un par de formularios para que cupiese en los 128k, pero lo importante es el formulario de inicio

Otro saludo!
Adjuntos
Gesfactura.7z
(121.14 KiB) Descargado 220 veces
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
RMG
Mensajes: 3879
Registrado: Mar Nov 17, 2009 6:59 am
Ubicación: Valencia - España

Re: Capturar evento "Abandonar modo pantalla completa"

Mensaje por RMG »

Hola,

Longi he probado tu propuesta y no hace lo de ocultar la ventana de Base, he probado a cambiar el 1 por 0 y nada. Parece ser que con Win10 64 ya no funciona según el mismo hilo.

Seguiré mirando cosas, gracias por tu interés.

Saludos
OpenOffice 4.1.15 y LibreOffice 6.2.4.2 en W-10, y LibreOffice 4.1.6.2 en Open Suse 13.1(VirtualBox)
Responder