Formularios MDI

pablo
24 de Marzo del 2005
Hola a todos,

Estoy intentando desarollar una pequeña aplicación que esta compuesta de varias ventanas. Me gustaria trabajar de una forma parecida a la del emule. Una barra arriba que al darle a un boton, muestra abajo la pantalla.

He intentado con los formularios MDI, pero me aparece la franja azul con los botones dentro del form MDI.

Podeis darme algun consejo o bien comentarme algun ocx?

Gracias de antemano

. : AlphaSoft : .
24 de Marzo del 2005
O.K

No entiendo muy bien, la franja azul que aparece es la barra de titulo de las FORM Child no?

Si no quieres que aparescan, entonces a cada Child ponle:

ControlBox = False
ClipControls = False

o algo asi... En el caso de la barra de botones, ponle un PictureBox al MDI y en el PictureBox inserta inagenes ( que simularan los botones ) para que al dar click sobre ellas, solo tengas que traer al frente la ventana ( o pantalla ) correspondiente...

Espero que te sirva... Saludos

. : AlphaSoft : .

pablo
24 de Marzo del 2005
Muchas gracias,

Si los tiros ivan por aqui. Efectivamente ya no salen los botones de mini / resize / max ni la barra arriba....

Otra cosa que me molesta es que si hago un

Form1.WindowState = vbMaximized
Form1.Show

En la pantalla se ve el resize. No se si me entiendes, no pasa de un form al otro sin ver el resize. He provado de hacer un .show de todos los formularios al hacer el loadform y luego jugar con el visible = true o false. Parece funcionar bien. Esto del visible es lo que comentabas de traer al frente o hay algun comando especial para esto?

De momento lo dicho me ha servido de mucho!! Sabes donde puedo encontrar info detallada sobre esto? Todo lo ke encuentro es muy generico.

Te saluda Atentamente,
PAblo

. : AlphaSoft : .
24 de Marzo del 2005
O.K.

Me alegra haberte servido de algo...

Si la primera ves no te entendi, ahora menos... jejeje.

Pero igual aqui tienes algo que ( Creo ) que te serviria:

A lo que te entendi, Creo que estas minimizando un form y maximizando el otro... ya no hagas eso.

Talves quieres un programa con varias ventanas, pero que solo pueda ser visible una a la ves, si es asi...

1.- Dales a todas las Child, la misma altura y anchura.
2.- Posicionalas todas en el mismo Left y Right.
3.- A la hora de iniciar tu programa Solo muestra un Form que sea la Bienvenida o que le de instrucciones al usuario. ( del mismo Left-Right y Width-Height ) :

Inserta este codigo en el evento LOAD del MDI:

Load FormChild ' Para cada Child
FormChild.show ' Para cada Child

Reemplaza FormChild cor cada form que tengas y deja al ultimo la FORM de "Bienvenida", de manera que esta sea la ultima en cargarse y mostrarse.

Ahora, cuando el usuario de click en algun boton del menu:

FormCorrespondinente.ZOrder

Esto hara ( o deberia ) que el Form se venga al frente, dejando a los demas ocultos. y no nesesitaras eso del Resize.

NOTA: La Funcion ZOrder podria ser el "Comando especial" al que te refieres.

Espero que te sirva... Saludos!

. : AlphaSoft : .