| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Julian Andres Ens


Registrado: 27 Abr 2003Mensajes: 27Ubicación: Bogotá (COLOMBIA)
|
Publicado: Mar 27 Ene, 2004 4:45 pm Asunto: MDI y Panel de Fondo (Leo) |
|
|
Hola
Cómo puedo lograr que un Panel quede como fondo de una aplicaión MDI, de modo que al abrir los MDIChild no queden ocultos detrás del mismo?
GRACIAS |
|
| Volver arriba |
|
 |
Argone Lt


Registrado: 23 Jun 2003Mensajes: 97Ubicación: Las Palmas.. España
|
Publicado: Mar 27 Ene, 2004 10:46 pm Asunto: |
|
|
No se si es esto exactamente lo que buscas..pero es lo mejor que se me ocurre...
Cuando crees la MDIchild ponle le parent sobre el Panel... | Código: |
Mdi = new MdiChild;
Mdi->Parent = Panel; |
Espero que te sirva.
Argone |
|
| Volver arriba |
|
 |
Julian Andres Ens


Registrado: 27 Abr 2003Mensajes: 27Ubicación: Bogotá (COLOMBIA)
|
Publicado: Mar 27 Ene, 2004 11:25 pm Asunto: Es un Mapa de Navegacion |
|
|
Desafortunadamente esto no es lo que necesitaba, lo que quiero es tener un Panel con varias opciones en el MDI Form, de tal manera que me permita acceder a N MDIChild Forms según las necesidades del usuario.
Veo que es algo complejo. Podría existir otra manera de hacerlo... haber si me explico, lo que quiero es tener un Panel de Navegación, algo así como el Object Inspector pero integrado al Form principal...
Espero lograr hacerlo pronto.. necesito ayuda
GRACIAS |
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Mie 28 Ene, 2004 4:54 am Asunto: |
|
|
Hola, a mi me a funcionado de la siguiente forma, prueba con esto:
Este Evento corresponde a la llamada de un nuevo MDICHild en el MainForm
| Código: |
void __fastcall TMainForm::FileNew1Execute(TObject *Sender)
{
CreateMDIChild("NONAME" + IntToStr(MDIChildCount + 1));
Panel1->SendToBack();
} |
Este corresponde al OnClose del formulario MDIChild
| Código: | void __fastcall TMDIChild::FormClose(TObject *Sender, TCloseAction &Action)
{
Action = caFree;
if(MainForm->MDIChildCount==1)
MainForm->Panel1->BringToFront();
}
|
Haber si te funciona, Saludos! _________________ "Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez
Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!! |
|
| Volver arriba |
|
 |
_Viktor Master


Registrado: 20 Jul 2003Mensajes: 463Ubicación: Santiago, Los Angeles - Chile
|
Publicado: Mie 28 Ene, 2004 5:08 am Asunto: |
|
|
Una aclaracion, se me olvido mencionar que como veras, en el codigo el Panel se muestra cuando se cierran todos los MDIChild, si quieres ver el Panel cuando las TODAS las ventanas hijas esten minimizadas tendrias que comprobar la propiedad WindowState de todas esas ventanas, si todas estuvieran Minimizadas (wsMinimized), podrias poner el codigo mencionado, especificamente en el Evento OnResize del formulario Hijo.
(Te lo digo asi al vuelo, si tienes problemas con eso hazlo saber, haber si puedo darte algun ejemplo en codigo)
 _________________ "Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez
Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!! |
|
| Volver arriba |
|
 |
Julian Andres Ens


Registrado: 27 Abr 2003Mensajes: 27Ubicación: Bogotá (COLOMBIA)
|
Publicado: Mie 28 Ene, 2004 3:43 pm Asunto: GRACIAS |
|
|
Muchas gracias, es justo lo que necesitaba.
PERFECTO! |
|
| Volver arriba |
|
 |
|