Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Forms MDI (https://www.clubdelphi.com/foros/showthread.php?t=8141)

lafirma 10-03-2004 00:14:12

Forms MDI
 
Que tal grupo, estoy tratando de hacer una app MDI, pero no se si es por ignorancia mia y por el pesimo manejo de aplicaciones MDI de delphi, pero en tiempo de ejecucion toman otro tamaño del que yo les he diseñado, porque ocurre esto?
uso delphi 7

__cadetill 10-03-2004 00:34:26

qué ventana, la MDIForm o los MDIChild?

roman 10-03-2004 02:28:41

Verifica que la propiedad Position del formulario esté en poDefaultPosOnly. Esto respetará el tamaño aunque no la posición. Al rato que tenga tiempo buscaré en el SDK de Windows si hay algo al respecto o si la limitación es exclusiva de Delphi.

De todas formas, así en general, ¿por qué te parece pésimo el manejo que hace Delphi de los mdi?

// Saludos

lafirma 10-03-2004 16:12:13

bueno, a veces uno se pierde totalmente cuando tiene horas en algo, pero de todas maneras mencionare:
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.
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.

roman 10-03-2004 16:32:10

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

Nuria 10-03-2004 16:34:16

Hola lafirma!

Pues no sé que lenguajes de programación has usado, pero para mí Delphi es uno de los mejores lenguajes que conozco y en muchos aspectos te facilita mucho el trabajo.

No sé tú, pero a mí lo de la herencia de formularios me parece fantástica, con hacer un form tipo, dependiendo de lo que quieras hacer :rolleyes:, cambias apenas unas líneas de código y a veces ninguna y ... listo! Es mucho menos complicado que en otros lenguajes.

Un Saludo! :)

lafirma 10-03-2004 20:55:41

no quiero entrar en polemica, la verdad delphi es fantastico, por eso lo uso, pero a veces en cosas sencillas se complica todo

En esto del MDI, se me armo un lio porque les daba un tamaño especifico a mis forms y de repente en ejecucion me aparecian diferentes, mis grids totalmente desalineados, todo un caos, y no sabia a que se debia el asunto.

guillotmarc 10-03-2004 21:10:32

Hola.

Cita:

Empezado por lafirma
si yo escribo miform.close es que quiero cerrarlo

Y ya se cierra, queda cerrado, minimizado abajo. Si lo que quieres es eliminar el formulario, entonces usa miform.Release

Saludos.


La franja horaria es GMT +2. Ahora son las 01:01:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi