Página 1 de 1

[RESUELTO] MINIMIZA todas las Pantallas

NotaPublicado: Jue Ene 13, 2011 2:09 pm
por meritxell
A ver si lo conseguimos... Pregunta:

¿Alguién podría indicarme cómo crear un botón para minimizar TODAS las pantallas del Open Base?

Gracias

Re: MINIMIZA todas las Pantallas

NotaPublicado: Jue Ene 13, 2011 7:29 pm
por Cascabel
Quede claro que lo que sigue es válido SOLO PARA WINDOWS.
Asocia la macro sMinimizaTodo al evento "Ejecutar una acción" de un botón.
Minimizará tanto la ventana de Base como las ventanas de todos los formularios, consultas y tablas abiertos (vivos o en diseño).
No lo he probado con informes. He observado que no afecta a la ventana del editor de Basic.

Código: Seleccionar todo   Expandir vistaContraer vista
Declare Function ShowWindow Lib "user32" (ByVal lHwnd As Long,ByVal lCmdShow As Long) As Boolean

Sub sMinimizaTodo()
   Dim oFrames As Object
   Dim oFrame As Object
   Dim i As Integer
   Dim c As Integer
   'Minimiza la ventana de Base
   oFrame=ThisDatabaseDocument.CurrentController.Frame
   sMinimizaVentana(oFrame)
   'Minimiza las otras ventanas
   oFrames=oFrame.Frames
   c=oFrames.Count
   For i=0 To c-1
      oFrame=oFrames(i)
      sMinimizaVentana(oFrame)
   Next
End Sub

Sub sMinimizaVentana(Frame As Object)
   Dim oConWin As Object
   Dim oHandle
   oConWin=Frame.GetContainerWindow()
   oHandle=oConWin.GetWindowHandle(dimarray(),1)
   ShowWindow(oHandle,2)   '2 para minimizar
End Sub

Re: [RESUELTO] MINIMIZA todas las Pantallas

NotaPublicado: Mar Ene 18, 2011 11:13 am
por meritxell
Muchísimas Gracias!
Funciona perfectamente!
Estoy impresionada, no lo hubiera resuelto yo misma nunca.

gracias.

Re: [RESUELTO] MINIMIZA todas las Pantallas

NotaPublicado: Mar Mar 08, 2011 5:06 pm
por Miisu
y alguna forma para linux ?


Saludos