Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Problema al redimensionar un form (https://www.clubdelphi.com/foros/showthread.php?t=61985)

NEG1414 29-11-2008 10:36:56

Problema al redimensionar un form
 
Buenas, mi problema es el siguiente:

Desde un Form1 accedo a otro Form2 mediante la forma modal:


TForm2 * prueba;

prueba = new TForm2(this);

//Mostramos el Formulario como modal
switch (prueba->ShowModal())
{
case mrOk:
break;
}

En el evento Activate del Form2 (dependiendo de una condicion)este debe de redimensionarse (hacerse mas pequeño),

Form2->Height =xxx

pero no lo hace.

Supongo que tiene que ver con el acceso modal pero no consigo solucionarlo
Alguna Idea.


Gracias

coso 29-11-2008 14:57:19

Hola, lo que ocurre es que no estas cambiando la nueva instancia de TForm2, sino la generada por defecto que tiene por nombre Form2. Prueba : self->Height = xxx o directamente Height = xxx. Ten en cuenta que si no vas a usar 'Form2' (la form autocreada) deberias sacarla del 'autocreate forms'. Saludos.

escafandra 29-11-2008 18:06:20

c
Cita:

Empezado por coso (Mensaje 328745)
Hola, lo que ocurre es que no estas cambiando la nueva instancia de TForm2, sino la generada por defecto que tiene por nombre Form2. Prueba : self->Height = xxx o directamente Height = xxx. Ten en cuenta que si no vas a usar 'Form2' (la form autocreada) deberias sacarla del 'autocreate forms'. Saludos.

Efectivamente tienes toda la razón coso. Deve diseñar Form2 como no autocreada. Aún así su código funcionaría de esta forma: Cambia esto
Cita:

Empezado por NEG1414
En el evento Activate del Form2 (dependiendo de una condicion)este debe de redimensionarse (hacerse mas pequeño),

Form2->Height =xxx;

Por esto
Código:

this->Height =xxx;  // en C this es equivalente al self del delphi
// o también
Height =xxx;

De esta forma te das cuenta del error que te dice coso.
Lo suyo es que lo quites de autocreado y lo crees diámicamente como haces con tu código (prueba).

Saludos.


La franja horaria es GMT +2. Ahora son las 14:38:57.

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