Ver Mensaje Individual
  #2  
Antiguo 09-05-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
El problema es que Builder coloca como posición inicial la de diseño. Cuando seleccionas poScreenCenter Builder cambia a esa posición y luego muestra el Form. A nuestros ojos la ventana se creó en el centro aunque en realidad no fue así.

Para solventar el problema deberás colocar el Form donde te interesa (aunque no sea visible de momento) y luego aplicar AnimateWindow.

Te muestro un ejemplo simple:
Código:
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
  // Centro la ventana... 
  if(Position == poScreenCenter){
     Left = (Screen->Width - Width)/2;
     Top  = (Screen->Height - Height)/2;
   }
   AnimateWindow(Handle, 400, AW_ACTIVATE | AW_SLIDE | AW_HOR_POSITIVE);
}
Por cierto, no se si fue un error tipográfico o no, de todas formas aclaro que el operador or binario es una sola barra |. El or lógico son dos ||

Saludos.
Responder Con Cita