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 07-04-2009
Duc Duc is offline
Miembro
 
Registrado: jul 2004
Posts: 49
Poder: 0
Duc Va por buen camino
Problemas con Form2.Parent=Form1;

Hola a todos!

No sabía cómo expresar bien con el título mi problema .

Estoy desarrollando un prototipo de una aplicación, y necesitaba que hubiera un formulario padre y los formularios hijos dentro. Ya se que lo normal es utilizar FormStyle=MDIForm y MDIChild, pero no lo hago así.

Realmente no me acuerdo el problema que tenía, pero llegué a la conclusión que tenía que hacerlo manualmente asignando la propiedad Parent del formulario hijo (apuntando al formulario padre). Creo que los problemas venían debido a que los formularios tienen su propia forma (roundRect, no la de Windows), y los manipulo mucho para el aspecto gráfico.

Total! que resulta que cuando hago un click en un formulario que no es el que está en primer plano, no avanza, se queda detras. Es decir, abro los formularios Form1 y Form2 en ese orden, por supuesto, el Form2 está encima del Form1, pero sería de esperar que cuando se haga click sobre Form1 cambien de posición, y no es así.

Supongo que el problema viene dado a no utilizar MDI, y que lo tendré que controlar yo manualmente, pero no se por donde atacar.

Muchas gracias!!
Responder Con Cita
  #2  
Antiguo 07-04-2009
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
Hace mucho subí un ejemplo de algo similar a mi página, ahora esta caída por eso te lo adjunto. Por lo que veo las ventanas creadas dentro de otra ventana no MDI solo pasan al frente si haces click en el header, la solución que se me ocurre es sencilla, simplemente capturar los clicks de esta ventana y realizar un BringToFront.

Agregué un pedacito de código para que pase al frente la ventana por la que se desplaza el puntero.
Archivos Adjuntos
Tipo de Archivo: zip relforms.zip (3,6 KB, 16 visitas)
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 07-04-2009
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por Duc Ver Mensaje
Total! que resulta que cuando hago un click en un formulario que no es el que está en primer plano, no avanza, se queda detras. Es decir, abro los formularios Form1 y Form2 en ese orden, por supuesto, el Form2 está encima del Form1, pero sería de esperar que cuando se haga click sobre Form1 cambien de posición, y no es así.
Hola, eso es lo que debería pasar si le estas asignando como padre el form1 osea que va estar contenido en Form1, en MDI pasa lo mismo, todos los hijos se cargan en el formulario padre, si quieres ver solo tu form1 cuando hagas click sobre este, entonces no le asignes como padre de tu form2 y muestra tu form2 con show cuando lo necesites

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 07-04-2009
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
Cita:
Empezado por Caro Ver Mensaje
Hola, eso es lo que debería pasar si le estas asignando como padre el form1 osea que va estar contenido en Form1, en MDI pasa lo mismo, todos los hijos se cargan en el formulario padre, si quieres ver solo tu form1 cuando hagas click sobre este, entonces no le asignes como padre de tu form2 y muestra tu form2 con show cuando lo necesites
Por lo que yo entiendo, se refiere a que Form1 y Form2 son hijos de FormX.... Por eso no le resulta "natural" el funcionamiento.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 07-04-2009
Duc Duc is offline
Miembro
 
Registrado: jul 2004
Posts: 49
Poder: 0
Duc Va por buen camino
Ups! jeje

Exacto Delphi.com.ar, en ralidad la nomenclatura de mi ejemplo y del título no tiene nada que ver. Podría ser:

Padre: FormX
Hijo1: Form1
Hijo2: Form2

Código:
Form1.Parent := FormX;
Form2.Parent := FormX;
Cómo bien ha dicho Delphi.com.ar. Pues gracias! Esto ya lo había pensado, pero claro, entonces se tendrá que modificar el evento onClick de todos los componentes del formulario...

Bueno, voy a revisar tu código : )
Responder Con Cita
  #6  
Antiguo 07-04-2009
Duc Duc is offline
Miembro
 
Registrado: jul 2004
Posts: 49
Poder: 0
Duc Va por buen camino
Perfecto! Me gusta como lo hiciste, tratando el mensaje directamente. Voy a hacerlo.

Muchas gracias! : )
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
form2 cerrar el form1 ingabraham Varios 6 07-01-2009 19:11:13
mostrar resultados en form2 arespremium OOP 7 01-09-2007 21:25:46
Parent, ParentWindow, objetos y el error Control has no parent Window dec Varios 18 07-08-2007 15:02:01
Problemas con la propiedad Parent Io Varios 18 10-08-2006 21:03:01
Mantener Form1 siempre detrás de Form2 Gorka Varios 1 13-10-2004 13:13:48


La franja horaria es GMT +2. Ahora son las 16:26:17.


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