La idea es dividir el escritorio en x ventanas en filas y columnas.
El efecto es que las ventanas se superponen. Las de abajo suben hacia arriba tapando
la parte de abajo de las superiores.
Como tenemos paneles, estos ocupan un espacio en el escritorio. Así que fui al panel superior
y lo oculte automáticamente. El problema continua.
Entonces debe ser algo en parte de que las X windows es así.
Aquí tenéis el código para que lo comprobéis.
'Quiero dividir el escritorio en un número de partes. (Filas y Columnas)
'Si quiero 2 filas y 2 columnas = 4 celdas (ventanas)
'Si quiero 3 filas y 4 columnas = 12 celdas (ventanas)
'Ojo.No se os ocurra usar una gran cantidad de ventanas!.
'Probemos con 2 filas y 4 columnas = 8 celdas (ventanas)
'Motivo para que sea una división exacta.
'Ancho de la ventana = Ancho del escritorio / ncolumnas
'Alto de la ventana = Alto del escritorio / nfilas
Private anchoescritorio As Integer
Private altoescritorio As Integer
Private numventanas As Integer
Const filas As Integer = 2
Const columnas As Integer = 4
Public Sub Form_Open()
Dim anchoventana As Integer
Dim altoventana As Integer
Dim incrementox As Integer
Dim incrementoy As Integer
Dim anchototal As Integer
Dim nventanas As Integer
Dim formulario As Form
anchoescritorio = Screen.Width
altoescritorio = Screen.Height
numventanas = filas * columnas
anchoventana = anchoescritorio \ columnas
altoventana = altoescritorio \ filas
FMain.Minimized = True 'Para no ver la principal en el escritorio
Repeat
Do While anchototal < anchoescritorio
formulario = New Form
With formulario
.Width = anchoventana
.Height = altoventana
.Left = incrementox
.Top = incrementoy
.Show
End With
incrementox += anchoventana
anchototal += anchoventana
nventanas += 1
Loop
incrementoy += altoventana
incrementox = 0
anchototal = 0
Until nventanas >= numventanas
End
'Si quiero 2 filas y 2 columnas = 4 celdas (ventanas)
'Si quiero 3 filas y 4 columnas = 12 celdas (ventanas)
'Ojo.No se os ocurra usar una gran cantidad de ventanas!.
'Probemos con 2 filas y 4 columnas = 8 celdas (ventanas)
'Motivo para que sea una división exacta.
'Ancho de la ventana = Ancho del escritorio / ncolumnas
'Alto de la ventana = Alto del escritorio / nfilas
Private anchoescritorio As Integer
Private altoescritorio As Integer
Private numventanas As Integer
Const filas As Integer = 2
Const columnas As Integer = 4
Public Sub Form_Open()
Dim anchoventana As Integer
Dim altoventana As Integer
Dim incrementox As Integer
Dim incrementoy As Integer
Dim anchototal As Integer
Dim nventanas As Integer
Dim formulario As Form
anchoescritorio = Screen.Width
altoescritorio = Screen.Height
numventanas = filas * columnas
anchoventana = anchoescritorio \ columnas
altoventana = altoescritorio \ filas
FMain.Minimized = True 'Para no ver la principal en el escritorio
Repeat
Do While anchototal < anchoescritorio
formulario = New Form
With formulario
.Width = anchoventana
.Height = altoventana
.Left = incrementox
.Top = incrementoy
.Show
End With
incrementox += anchoventana
anchototal += anchoventana
nventanas += 1
Loop
incrementoy += altoventana
incrementox = 0
anchototal = 0
Until nventanas >= numventanas
End
Saludos