Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-07-2003
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 21
danytorres Va por buen camino
Question Formulario Tipo Modal en proyecto MDI? que hago

Un saludo a todos los del foro. El problema es el siguiente necesito sacar un formulario tipo Modal el un proyecto MDI, hasta el momento coloco las demas pantallas en enable:= false, pero quiero quitarme el estar desabilitando las demas pantallas cuando saco una. Agradeceria la ayuda.

_________________
Un saludo a todos
Responder Con Cita
  #2  
Antiguo 16-07-2003
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
¿Qué no funciona mostrar el formulario con ShowModal?

// Saludos
Responder Con Cita
  #3  
Antiguo 16-07-2003
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.

Aunque el proyecto sea MDI, puedes añadir formularios de tipo fsNormal. Yo utilizo estas ventanas no MDI, para crear ventanas modales.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #4  
Antiguo 16-07-2003
danytorres danytorres is offline
Miembro
 
Registrado: may 2003
Ubicación: Venezuela. Edo Carabobo
Posts: 361
Poder: 21
danytorres Va por buen camino
Pero no hay forma de creal una ventana tipo modal siendo esta una fsMDIChild. Necesito crearla de esta manera. Gracias por responder.
Responder Con Cita
  #5  
Antiguo 16-07-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Este tema está duplicado y se ha respondido en este hilo http://www.clubdelphi.com/foros/show...&threadid=2285
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 16-07-2003
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
De hecho lo que pasó es que quien formuló la pregunta cambió el hilo. ¡Niño malo!
Responder Con Cita
  #7  
Antiguo 24-05-2007
aprendiz2 aprendiz2 is offline
Miembro
 
Registrado: dic 2006
Posts: 70
Poder: 18
aprendiz2 Va por buen camino
Cita:
Empezado por danytorres
Pero no hay forma de creal una ventana tipo modal siendo esta una fsMDIChild. Necesito crearla de esta manera. Gracias por responder.
Cierto, con fsMDIChild no la puedes mostrar Modal.

Si cambias ese formulario a fsNormal, ahi si lo podras abrir en forma Modal ( eso no afecta a tu proyecto MDI para nada. Pruebalo ).

En otras palabras, no te empeñes en que esta ventana tambien tiene que ser MDIChild.

( Comentario personal: He probado los proyectos MDI y no me gustan para nada, mucho problema en la programacion para lograr lo que uno desea... )

Encontre una solucion que me funciona bien...
1 - Da la apariencia de MDI, pero no lo es.
2 - Programacion es facil, como en ventanas normales...

Como ?
1 - El Form principal lo pongo en fsNormal.
2 - Los demas forms, los pongo en fsStayOnTop

De esta forma, da la apariencia que el Form de atras, si esta maximizado, envuelve a los demas Form que abren y cierran.

Los demas Forms siempre se mantienen al "frente" con respecto al principal, aunque se "toque" el form de atras.

Trae la ventaja de tener Forms Visibles e Invisibles , es mas facil la programacion para comunicar valores de un form a otro, en comparacion con los MDI, que hay mas restriccion.

Abrir modales no es ningun problema.

Bueno, esto es solo una opinion propia... cada quien con lo que funcione mejor....

Saludos, espero sirva de algo esto...
Responder Con Cita
  #8  
Antiguo 24-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
El mensaje original es de hace 4 años... pero bueno, las cosas en ese sentido no han cambiado mucho, los MDI siguen estando por ahí (aunque se desaconseja su uso) y la gente trabaja como quiere y le da la gana (esto último siempre ha sido así ).

El método que propones, me gusta aunque le veo un bug que no me gusta. La ventana que se abre oculta la barra de herramientas del supuesto MDI, al no ser un entorno MDI real, es normal que ocurra.

Otra solución del mismo estilo, es crear las ventanas asignándoles el padre hacia la ventana principal:
Código Delphi [-]
  childWindow := TForm1.Create(frmMain);
  childWindow.Parent := frmMain // esta línea se me olvidó y es la más importante  
Aunque tampoco me convence mucho los efectos que tiene.

Yo si prefiero a los MDI reales y la forma de trabajo con ellos me gusta bastante.

No suelo ocultar las ventanas, sino que las destruyo, pero alguna vez intenté esto y funcionaba:
Código Delphi [-]
type
  TBaseForm = class(TForm)
  private
    Fvisible: Boolean;
    procedure SetVisible(const Value: Boolean);
  public
    { public declarations }
    constructor Create(Aowner:TComponent); override;
    procedure Show;
    procedure Hide;
  published
    property Visible:Boolean read Fvisible write SetVisible;
  end;

implementation

uses publica;

{$R *.dfm}

constructor TBaseForm.Create(Aowner: TComponent);
begin
  inherited Create(aowner);
  visible :=  fsvisible in FFormState;
end;

procedure TBaseForm.Hide;
begin
  ShowWindow(Handle, sw_HIDE);
  FVisible := False;
  DoHide;
end;

procedure TBaseForm.SetVisible(const Value: Boolean);
begin
  if Value <> FVisible then
  begin
    if Value  then  Show
    else Hide;
  end;
end;

procedure TBaseForm.Show;
begin
  ShowWindow(Handle, sw_Show);
  FVisible := True;
  DoShow;
end;

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 25-05-2007 a las 16:44:46. Razón: faltaba childwindow.Parent := frmMain
Responder Con Cita
  #9  
Antiguo 24-05-2007
Avatar de Monchi
Monchi Monchi is offline
Miembro
 
Registrado: jun 2006
Ubicación: Cordoba, Argentina
Posts: 18
Poder: 0
Monchi Va por buen camino
Yo uso los MDI y me gusta como funcionan, y no le afecta en nada tener un fsNormal para mostralo en Modal
Responder Con Cita
  #10  
Antiguo 24-05-2007
aprendiz2 aprendiz2 is offline
Miembro
 
Registrado: dic 2006
Posts: 70
Poder: 18
aprendiz2 Va por buen camino
Gracias Lepe !!

Muchas gracias por comentar, Lepe !!!

Me encanta ver respuestas como la suya, donde se ve un ejemplo practico y funcional !!!

Considero un gran privilegio para mi, el poder leer sus ayudas a mi persona y otros muchos mas en el foro.

Usted es de los grandes maestros, de quien hay que mucho que aprender, asi como Roman, Seoane, Jhony y otros grandes maestros que veo en el foro. ( disculpen, de memoria no me se todos los nicks ).

Los admiro mucho, sus sugerencias, soluciones y trucos son verdaderas obras de arte !

Es como ver obras de Miguel Angel, DaVinci, etc.

Para mi seria un honor el poder estar sentado cerca de personas como ustedes, ver como desarrollan sus programas, solo mirando, aprendiendo.. !!!

El foro es lo mas cercano a eso.... pero muy distante de lo que seria estar con el maestro.

Del maestro hay que aprender.. !!!

Gracias otra vez !!! Buen dia, y le deseo lo mejor a usted y a todos los foristas !!!!
Responder Con Cita
  #11  
Antiguo 24-05-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Siempre que alguien menciona a Da Vinci pienso en el hecho de que escribía de derecha a izquierda y me imagino que la cosa se veía así:

.icniV aD odranoeL noc narapmoc em is aivadot sojel sam y ortseam nu res ed sojel yum ortneucne em euq oredisnoc dadrev riced a orep ,oiratnemoc etse oczedargA. << La cosa arranca aqui.

Es un honor estar en una lista como esta, al lado de Roman y Seoane quienes me llevan por los cachos y por mucho, la verdad es que agradezco que hayas recordado mi nick (Si es que es el mio, claro esta) pero verme allí merece la pena decir que no me lo merezco. Solo me disculpo contigo si he pasado por mal educado al decírtelo, pero esque siento que es mi obligación hacerlo. Gracias.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #12  
Antiguo 24-05-2007
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
En mi opinión, y a juzgar por muchas preguntas que se hacen en estos foros acerca del tema, los MDI no tienen ningún problema inherente, pero es que se intentan usar para lo que no son. Querer mostrar modalmente un formulario MDI es querer usar un MDI para lo que no es.

// Saludos
Responder Con Cita
  #13  
Antiguo 24-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Me idolatras

No es para tanto y seguro que el código se puede mejorar .

Jhonny: Acabo de perder 2 neuronas leyendo el texto

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #14  
Antiguo 24-05-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por Lepe

Jhonny: Acabo de perder 2 neuronas leyendo el texto

Saludos
Yo queme como 9 al escribirlo , ¿Te imaginas los discípulos de Da Vinci?, pobres tipos.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #15  
Antiguo 25-05-2007
aprendiz2 aprendiz2 is offline
Miembro
 
Registrado: dic 2006
Posts: 70
Poder: 18
aprendiz2 Va por buen camino
y yo que pensaba

Cita:
.icniV aD odranoeL noc narapmoc em is aivadot sojel sam y ortseam nu res ed sojel yum ortneucne em euq oredisnoc dadrev riced a orep ,oiratnemoc etse oczedargA. << La cosa arranca aqui.
... y yo que pensaba que eso de la re-encarnacion era solo un cuento !
Saludos !!!
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 17:55:34.


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