Ver Mensaje Individual
  #2  
Antiguo 28-11-2018
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
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.

Siempre que el MDIForm sea mayor, podes centrar los MDIChilds luego de la creación, v. gr.:

Código PHP:
void __fastcall TMDIForm::CenterForm(TForm *F)
{
  
F->Left = (this->ClientWidth  F->Width) / 2;
  
F->Top  = (this->ClientHeight F->Height this->ToolBar1->Height ) / 2;
}

// Ejemplo de uso:
void __fastcall TMDIForm::ToolButton1Click(TObject *Sender)
{
  if (!
MDIChild1)  // ( * )
    
MDIChild1 = new TMDIChild1(this);
  else
    
MDIChild1->BringToFront();
  
//...
  
CenterForm(MDIChild1);

( * ) Usando Action = caFree. La comprobación de la existencia del MDIChild requiere que pongas a nulo la instancia al cierre,
o podrá provocar una excepcion al intentar traer al frente un objeto ya liberado.
Código PHP:
void __fastcall TMDIChild1::FormClose(TObject *SenderTCloseAction &Action)
{
  
Action caFree;
  
MDIChild1 NULL// <- 

Si dejas el MDIChild minimizado al cerrarlo (no usas Action = caFree) deberías cambiar la linea,
Código PHP:
 MDIChild1->BringToFront(); 
por:
Código PHP:
 MDIChild1->WindowState wsNormal
Muestra:

(ajusté los tamaños de los MDIChild para que no se solapen)

Saludos
__________________
Daniel Didriksen

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