Tema: Forms MDI
Ver Mensaje Individual
  #5  
Antiguo 10-03-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por lafirma
1. Porque Delphi se empecina en complicar lo sencillo, lo que quiero unicamente es que mi form principal contenga a los demas y para eso se me arma un gran lio con los tamaños y posicion.
¿Y cuál fue el gran lío?

A fin de cuentas Delphi sigue un comportamiento estándar. Abre Word por ejemplo, sin ventanas maximizadas y nota como crea nuevas ventanas. El punto de las aplicaciones MDI es proveer una interfaz que permita a un usuario editar múltples documentos de un mismo tipo (básicamente) y la idea de las posiciones y tamaños por defecto es que el usuario pueda distinguir claramente los distintos documentos, cosa que se dificulta si todos se abren en el mismo lugar y con el mismo tamaño. Personalmente no soy fan de las aplicaciones MDI tal como fueron planeadas; prefiero un enfoque como el que dan programas como EditPlus que presentan una "barra de tareas" dentro de la ventana principal para seleccionar los distintos documentos de manera que puede uno maximizar las ventanas sin tener que recurrir al menú "Ventanas". Pero este es un problema más del diseño en general de las aplicaciones MDI que de Delphi.


Cita:
Empezado por lafirma
2. Porque no puedo cerrar los forms, tengo que ingresar al evento onclose, para decirle que efectivamente lo cierre, si yo escribo miform.close es que quiero cerrarlo, si por el contrario quiero esconderlo entonces haria miform.hide y punto. Esto ultimo es a todos los formularios en general, imaginate que tengo 30 forms en mi app y uno por uno tengo que escribir ese codigo en el onclose, se puede crear un form para heredar de el todos los demas, pero esa no es la gracia.

Me parece que esto es complicarse, deberia ser mas sencillo.
Ciertamente es fastidioso pero puedes remediarlo más o menos fácil: establece un formulario base y coloca el parámetro Action del evento OnClose a tu gusto y hereda los deás de él.

// Saludos
Responder Con Cita