Ver Mensaje Individual
  #4  
Antiguo 30-03-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola granodetoro.

Aunque el C++ no es mi fuerte, intentá con este código que acabo de probar y no permite abrir el segundo form más de una vez:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 for(int i = MDIChildCount-1; i >= 0; i--)
  if(MDIChildren[i]->Name == "Form2"){
     MDIChildren[i]->BringToFront();
  return;
  };
  Application->CreateForm(__classid(TForm2), &Form2);
}
Tendrías que sacar 'Form2' (o como se llame tu segundo form ) de: Proyect->Options->Forms->'Auto-create forms'

Y también es buena idea agregar en el evento OnClose del segundo form:
Código:
void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
{
 Action= caFree;
}
Sin lugar a dudas algún compañero experto en C++ te sugiera algún modo más elegante y eficiente de realizarlo, pero por ahora...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 30-03-2011 a las 02:30:02.
Responder Con Cita