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 14-05-2007
carlohg carlohg is offline
Registrado
 
Registrado: may 2007
Ubicación: Medellin - Colombia
Posts: 9
Poder: 0
carlohg Va por buen camino
Traer al frente mdichild

Buenas tardes a todos.

Quisiera saber como traer mi ventana child al frente.
Gracias
Responder Con Cita
  #2  
Antiguo 14-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Código Delphi [-]
ChildForm.BringToFront();
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 14-05-2007
carlohg carlohg is offline
Registrado
 
Registrado: may 2007
Ubicación: Medellin - Colombia
Posts: 9
Poder: 0
carlohg Va por buen camino
Hola gracias

Ya lo habia intentado pero no me funciona

Los objetos del form padre siguen apareciendo en frente.
Responder Con Cita
  #4  
Antiguo 14-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por carlohg
Ya lo habia intentado pero no me funciona
Podías haberlo dicho.

Pero, bueno. ¿Qué objetos? Generalmente en estos casos el formulario "padre" (o "fsMDIForm") contienen sólo formularios hijos... y no otros objetos. No estoy muy puesto en aplicaciones MDI, Multiple Document Interface (porque hablamos de aplicaciones MDI, ¿verdad?), pero, yo diría que lo que el "BringToFront()" debe funcionar...

Tal vez si explicas un poco más de qué estamos hablando... qué objetos dices que están en el formulario "padre"...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 14-05-2007
carlohg carlohg is offline
Registrado
 
Registrado: may 2007
Ubicación: Medellin - Colombia
Posts: 9
Poder: 0
carlohg Va por buen camino
Asi cargo mi child.

Código Delphi [-]
procedure TForm1.Margenes1Click(Sender: TObject);
var
  Child : TChild;
begin
  Child := TChild.Create(Self);
  Child.Show;
  Child.BringToFront;
end;

Cuando se carga aparece atras de todos los objetos que tenga en mi mdi padre.

Última edición por dec fecha: 14-05-2007 a las 01:16:36.
Responder Con Cita
  #6  
Antiguo 14-05-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Has comprobado que seguro tu formulario 'padre' tiene puesta la propiedad FormStyle = fsMDIForm, y que tus formularios hijos tienen puesta dicha propiedad FormStyle = fsMDIChild ??
__________________
Piensa siempre en positivo !
Responder Con Cita
  #7  
Antiguo 14-05-2007
carlohg carlohg is offline
Registrado
 
Registrado: may 2007
Ubicación: Medellin - Colombia
Posts: 9
Poder: 0
carlohg Va por buen camino
Hola

Claro que si.
Responder Con Cita
  #8  
Antiguo 14-05-2007
carlohg carlohg is offline
Registrado
 
Registrado: may 2007
Ubicación: Medellin - Colombia
Posts: 9
Poder: 0
carlohg Va por buen camino
Realmente quiero hacer ese mdi child para configurar las margenes de un Richedit para imprimir

Alguna otra Sugerencia?

Código Delphi [-]
if PrintDialog1.Execute then
  begin
    PixelsX := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
    PixelsY := GetDeviceCaps(Printer.Handle, LOGPIXELSY);
    LeftSpace := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
    TopSpace := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);
    
   {en este lugar incluiria los valores desde mi formchild}

    R.Left := Round(PixelsX * valor desde MDICHILD) - LeftSpace;
    R.Right := Round(PixelsX * valor desde MDICHILD) - LeftSpace;
    R.Top := Round(PixelsY * valor desde MDICHILD) - TopSpace;
    R.Bottom := Round(PixelsY * valor desde MDICHILD) - TopSpace;
 
{/////}

    RichEdit1.PageRect := R;
    RichEdit1.Lines.Add('');
    RichEdit1.Lines.Add(DateTimeToStr(Now));
    RichEdit1.Print('Reporte'+Edit1.Text);
  end;
Responder Con Cita
  #9  
Antiguo 14-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Creo que lo que te sucede es que tienes un formulario "fsMDIForm", y dentro de este ciertos controles: "TRichEdit", etc. Y estos controles se superponen a los formularios hijos. Pero es que este tipo de formularios ("fsMDIForm") no están pensados para que albergen más que otros formularios "hijos".

Diría que una solución pasa por tener un formulario hijo que contenga el "TRichEdit", por ejemplo, y otro que contenga "controles" que interactúen, si quieres, con el "TRichEdit". No sé si me explico. Al menos a mí no se me ocurre ahora mismo otra solución que esta, vamos.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #10  
Antiguo 14-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
carlohg, no vemos tu pantalla, no sabemos de lo que hablas ni lo que tienes en mente. Por favor, explica qué quieres conseguir, y como lo tienes hecho hasta ahora.

Desde luego, en un MDI solo debería situarse el main menu, un toolbar, un StatusBar y posiblemente un panel alineado arriba/izquierda/derecha para contener otros controles.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 14-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
Tan sólo para enfatizar lo dicho por dec y Lepe; en un formulario MDI no conviene poner nada en el área cliente. El área cliente es el área no ocupada por ningún control que tenga especificada una alineación (Alignment) distinta de alNone.

// Saludos
Responder Con Cita
  #12  
Antiguo 14-05-2007
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Pues no conviene, pero seria conveniente.

Estoy haciendo un programa sencillo, que tenga lo basico
de funcionalidad de los IDEs, como Delphi o visual studio.

Se me ha hecho muy facil. crear un proyecto MDI
y en el formulario "padre" (o "fsMDIForm")
poner un panel1 a la izquierda, panel2 centrado
y su propiedad align como alclient
en el panel2 pongo un control. PageControl align alclient

y panel3 a la derecha

igual que a carlohg la ventana hija MDI me sale pero no logro
ponerla por encima de los paneles o incrustarla en el PageControl

Mi intencion es insertar las ventanas MDI, en el PageControl
y que por cada ventana Hija, haya un Tab del PageControl
con su la ventana hija incrustada. Igual que como el IDE de Delphi 2006
y recientes.
Responder Con Cita
  #13  
Antiguo 14-05-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Hola JXJ, el panel Central no debe existir. Elimínalo y prueba la ejecución, verás que es lo que necesitas.

El pageControl, lo puedes simular con un Header, una fila de Botones flat u otro tipo de cosas, que te permitiran más flexibilidad, como incluir el botón de cierre de esa "pestaña".

En apariencia será igual, pero la construcción es más sencilla. Al crear una ventana hija, creas una nueva "pestaña". Este "PageControl", lo pones en el MDIFORM en un coolbar o donde quieras.

Si carlohg está haciendo lo mismo, le será de utilidad.

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 14-05-2007
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Gracias Lepe , voy a probar..
Responder Con Cita
  #15  
Antiguo 14-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Hay un componente al lado mismo del "TPageControl", que es el "TTabControl"... creo que se llama así... y que viene a ser el "TPageControl" pero sin el "Page"... es decir, que "sólo" proporciona pestañas...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #16  
Antiguo 15-05-2007
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Gracias Dec ya lo estoy probando
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Traer Registros de SQL en lotes sanfer1ec SQL 3 11-04-2007 19:22:39
Traer DBEdit en Blanco. utephi_14 OOP 5 12-03-2005 20:38:47
Form Al frente el_enigma1 OOP 2 20-01-2005 00:28:21
¿Como traer al frente un formulario ? athal Lazarus, FreePascal, Kylix, etc. 2 11-05-2004 15:53:19
Traer mi app a rpimer plano cso2000 Varios 6 25-09-2003 21:16:50


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


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