| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
snupoo Lt Cmdr


Registrado: 19 Feb 2004Mensajes: 108Ubicación: Merida yucatan Mexico
|
Publicado: Mar 02 Mar, 2004 7:57 pm Asunto: Problemas con fsMDIChild |
|
|
Hola a todos en el foro mi problema es el siguiente:
Tengo una aplicacion con varios forms, en la cual hay un form fsMDIForm el cual crea dinamicamente las ventanas hijas, pero al querer monstrar las ventanas hijas simplemete no aparecen.
creo las ventanas con:
| Código: | FormStyle=fsMDIChild; //Esta propiedad la establesco en tiempo de diseño
TFormHija *FormHija = new TFormHiha(this); //Creo la ventana hija
FoemHija->Show(); //Aqui es donde esta el error y no se muestra el form
| Alguien sabe por que no se muestra la ventana hija.
Grasias por su respuesta.  _________________ [img]http://folding.extremeoverclocking.com/sigs/sigimage.php?un=snupoo&t=86565/sigimage.gif[/img]
A programar se aprende programando |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Mar 02 Mar, 2004 8:57 pm Asunto: |
|
|
//Prueba con esto:
TFormHija *FormHija = new TFormHija(Application);
FormHija->Show();
/*Y asegúrate que en las opciones del proyecto en la pestaña Forms el formulario llamado FormHija está quitado de la lista "Auto-create forms".*/ _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Mar 02 Mar, 2004 9:27 pm Asunto: |
|
|
solucion..
Verifica el que esten dentro del la opcion Non-autoCreate, del builder, posteriormente,
FormSytle se lo puedes asignar en la propiedad, cuado realizas esto, la ventana se vueleve visible, es decir (visibel=true), por lo tanto, la ventana, cuando corre tu apliacion, ya existe, solo es cuestion de traerla al frente o mostrarla..
si le quitas en tiempo de diseño, o ejecucion, el FormSytle=fsNormal, quita tambien la parte de visble=true y ponla a falso. aun no se que esperas de las respuestas, pero si pudieras ser un poco explicativo..
saludos.. _________________
 |
|
| Volver arriba |
|
 |
snupoo Lt Cmdr


Registrado: 19 Feb 2004Mensajes: 108Ubicación: Merida yucatan Mexico
|
Publicado: Mie 03 Mar, 2004 2:08 am Asunto: |
|
|
Hola Tugui y César C. Salazar González gracias por su ayuda pero todo lo que me dicen ya lo hice antes de pener mi regunta, y no me funciona.
Mi problema sin mas explicacion es el siguiente: cuando llamo al metodo Show(); de los formularios hijos, estos no aparecen. Pormas que trate ya lo cheque con el debuger y no aparece error ni excepcion, simpemente no se muestra el form hijo.
Gracias por su tiempo y ayuda.
Un saludo desde Mexico.  _________________ [img]http://folding.extremeoverclocking.com/sigs/sigimage.php?un=snupoo&t=86565/sigimage.gif[/img]
A programar se aprende programando |
|
| Volver arriba |
|
 |
Tugui Master


Registrado: 09 Nov 2002Mensajes: 663
|
Publicado: Mie 03 Mar, 2004 9:29 am Asunto: |
|
|
En ese caso yo haría lo siguiente (quizás ya lo hayas hecho):
Lo probaría con y proyecto totalmente nuevo y partiendo desde cero, no se tarda practicamente nada en :
1º- Poner la propiedad del Formulario principal FormStyle a fsMDIForm.
2º- Añadir un segundo formulario con propiedad FormStyle a fsMDIChild.
3º- Quitar el segundo formulario de la lista Auto-Create forms del proyecto.
4º- En el formulario secundario #include "Unit1.h"
5º- En el formulario principal #include "Unit2.h"
6º- Y en un por ejemplo en un botón del formulario principal:
TForm2 *f = new TForm2(Application);
f->Show();
A mi así me funciona perfecto si aún así no te funciona mi consejo es que hagas una buena copia de seguridad de tus proyectos y reinstales el BCB. Saludos. _________________ ¡ADELANTE CON ESTE SUPER FORO! |
|
| Volver arriba |
|
 |
snupoo Lt Cmdr


Registrado: 19 Feb 2004Mensajes: 108Ubicación: Merida yucatan Mexico
|
Publicado: Jue 04 Mar, 2004 1:04 am Asunto: |
|
|
Gracias Tugui voy a seguir tu consejo y repasarlo todo.
Saludo.  _________________ [img]http://folding.extremeoverclocking.com/sigs/sigimage.php?un=snupoo&t=86565/sigimage.gif[/img]
A programar se aprende programando |
|
| Volver arriba |
|
 |
snupoo Lt Cmdr


Registrado: 19 Feb 2004Mensajes: 108Ubicación: Merida yucatan Mexico
|
Publicado: Vie 05 Mar, 2004 12:22 am Asunto: |
|
|
Hola a todos tengo dos nuevos problema:
1) Cuando se crea la ventana hija si hay algo abajo no lo tapa si no que es transparente.
2) cuando maximizo la ventana quiero que aparesca como una de word que en ves de que se una al form padre tenga sus propios botone de cierre minimizar etc.
Como arreglo estos problemillas ?
Gracias por su ayuda y dedicacion.  _________________ [img]http://folding.extremeoverclocking.com/sigs/sigimage.php?un=snupoo&t=86565/sigimage.gif[/img]
A programar se aprende programando |
|
| Volver arriba |
|
 |
el drogis Lt JG


Registrado: 02 Dic 2003Mensajes: 64Ubicación: Tornavacas (Caceres)
|
Publicado: Vie 05 Mar, 2004 12:09 pm Asunto: |
|
|
Para el segundo problema tal vez tenga la solucion, ya que yo tambien lo intente y la solucion que tuve que tomar fue:
| Código: |
void __fastcall TMainForm::SpeedButton1Click(TObject *Sender)
{
int i;
i=0;
while (i<MDIChildCount){
MDIChildren[i]->WindowState=wsNormal;
if ((MDIChildren[i]->Width<MDIChildren[i]->Constraints->MaxWidth)
|| (MDIChildren[i]->Height<MDIChildren[i]->Constraints->MaxHeight)){
MDIChildren[i]->Width=MDIChildren[i]->Constraints->MaxWidth;
MDIChildren[i]->Height=MDIChildren[i]->Constraints->MaxHeight;
}
i++;
}}
|
Con esto cree un boton para que ajustase los tamaños de cada ventana a la imagen que contenian y les quite el boton de maximizar. |
|
| Volver arriba |
|
 |
|