Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Problemas con formulario MDI (https://www.clubdelphi.com/foros/showthread.php?t=84934)

Kannon 30-12-2013 19:51:50

Problemas con formulario MDI
 
Hola a todos......

Tengo algunas dudas e inconvenientes en los que les agradecería mucho su ayuda. Estoy trabajando en una la siguiente aplicación:



Resulta que la ventana de "Administración Universitaria" fue declarada como fsMDIForm mientras que "Gestión Estudiantil" fue declarada fsMDIChild, pero me gustaría que al momento de dar clic en el mainmenu opción "Estudiantes" como se puede ver en la foto, sea cuando se abra la ventana de "Gestión Estudiantil" lo cual no logro hacer pues declaro esa venta con la opción : visible->false pero aun así cuando compilo el principal se abre automáticamente la de "Gestión Estudiantil" sin haber presionado la opción en el mainmenu "Estudiantes".

Caminante 30-12-2013 20:25:37

Hola

Ya quitaste esa ventana de la lista auto-create forms??

Saludos

Kannon 30-12-2013 20:28:54

Cita:

Empezado por Caminante (Mensaje 471169)
Hola

Ya quitaste esa ventana de la lista auto-create forms??

Saludos

No se exactamente en que parte hacerlo.

Caminante 30-12-2013 21:35:38

En el menu project / options / en el arbol de la izquierda selecciona el que dice forms. Te mostrara dos listas una que dice autocreate forms y otra available forms. Mueve los forms que no se crearan automaticamente a la segunda lista.

Kannon 30-12-2013 22:15:09

Cita:

Empezado por Caminante (Mensaje 471172)
En el menu project / options / en el arbol de la izquierda selecciona el que dice forms. Te mostrara dos listas una que dice autocreate forms y otra available forms. Mueve los forms que no se crearan automaticamente a la segunda lista.

Aunque tu ayuda me sirvio para que al momento de abrir la aplicacion principal no se abra la ventana de gestion estudiantil, cuando presiono estudiantes para que se abra la ventana ( lo hago de la siguiente manera: estudianteS->show(); ) me pone este error que me deja aun mas perdido :/

ht(tp://i943.photobucket.com/albums/ad274/Carlos_Jaramillo_Corrales/Sintiacutetulo_zps2cb84533.png

Caminante 30-12-2013 22:45:59

Debes crear la ventana para poder trabajar con ella:

Código Delphi [-]
 Form2:=TForm2.create(self);

Y para asegurarte de destruir la ventana al ya no usarla

Código Delphi [-]
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action:=cafree
end;

Espero te sea util

Saludos

Kannon 31-12-2013 00:05:07

Cita:

Empezado por Caminante (Mensaje 471174)
Debes crear la ventana para poder trabajar con ella:

Código Delphi [-]
 Form2:=TForm2.create(self);

Y para asegurarte de destruir la ventana al ya no usarla

Código Delphi [-]
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action:=cafree
end;

Espero te sea util

Saludos

De acuerdo a la ayuda que me has brindado, intente crear la ventana de la forma que me indicaste que para mi caso seria:


Código Delphi [-]
estudianteS:=TestudianteS.create(self);

Pero me da sintax error, tal vez interfiera en algo el hecho de que estoy usando las versión Delphi XE5?

ecfisa 31-12-2013 03:09:15

Hola Kannon.
Cita:

Empezado por Kannon (Mensaje 471177)
Código Delphi [-]
estudianteS:=TestudianteS.create(self);

Pero me da sintax error...

Y es esperable, ya que según veo estas trabajando en C++ Builder.

Llamada para crear/mostrar estudianteS:
Código:

{
 if (estudianteS == NULL) // si aún no fué creado...
    estudianteS = new TestudianteS(this);  // crearlo
  else { // si no, traerlo al frente
    estudianteS->WindowState = wsNormal;
    estudianteS->BringToFront();
  }
  ...

Si deseas que no quede minimizado al cerrar (acción por defecto de los forms MDIChild) agrega:
Código:

void __fastcall TestudianteS::FormClose(TObject *Sender,
      TCloseAction &Action)
{
 // caFree cierra el form y libera la memoria asignada
  Action = caFree;
}

Saludos :)


La franja horaria es GMT +2. Ahora son las 18:07:25.

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