Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-03-2004
lafirma lafirma is offline
Miembro
 
Registrado: may 2003
Ubicación: Honduras
Posts: 159
Poder: 22
lafirma Va por buen camino
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
__________________
Saludos

Douglas Cruz
Responder Con Cita
  #2  
Antiguo 10-03-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
qué ventana, la MDIForm o los MDIChild?
Responder Con Cita
  #3  
Antiguo 10-03-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita
  #4  
Antiguo 10-03-2004
lafirma lafirma is offline
Miembro
 
Registrado: may 2003
Ubicación: Honduras
Posts: 159
Poder: 22
lafirma Va por buen camino
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.
__________________
Saludos

Douglas Cruz
Responder Con Cita
  #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
Poder: 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
  #6  
Antiguo 10-03-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 22
Nuria Va por buen camino
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 , cambias apenas unas líneas de código y a veces ninguna y ... listo! Es mucho menos complicado que en otros lenguajes.

Un Saludo!
Responder Con Cita
  #7  
Antiguo 10-03-2004
lafirma lafirma is offline
Miembro
 
Registrado: may 2003
Ubicación: Honduras
Posts: 159
Poder: 22
lafirma Va por buen camino
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.
__________________
Saludos

Douglas Cruz
Responder Con Cita
  #8  
Antiguo 10-03-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
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.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:32:21.


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
Copyright 1996-2007 Club Delphi