Ver Mensaje Individual
  #8  
Antiguo 09-09-2007
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Reputación: 21
salvica Va por buen camino
Ajustar el Form al tamaño y posición de un TabSheet

Os dejo el como he resuelto la posición del form para que aparezca sobre un TabSheet de un TPageControl y dé la impresión de que es el contenido original
(yo me lo guiso, yo me lo como)
Código Delphi [-]

{
+------------------------------------------------------------------------------
| crear un form modal en la pestaña que se recibe como parámetro y abrirlo
+------------------------------------------------------------------------------
}
procedure TForm_Main.CrearFormTabSheet( TabSheet:TTabSheet );
const
{ ajuste para una resolución del monitor de 1152x864 pixels }
  FormBorder  : integer =  4; // ancho del borde del form
  FormCaption : integer = 30; // alto del caption del form
begin
  Application.CreateForm(TForm_TabSheet, Form_TabSheet);
  with Form_TabSheet do begin
       BorderStyle := bsNone;
     { ajustar al área del TabSheet }
       ClientHeight := TabSheet.Height;
       ClientWidth  := TabSheet.Width;
     { posición de la izquierda }
       Left         := Form_Main.Left + FormBorder +
                       PageControl.Left +
                       TabSheet.Left;
     { posición de la altura }
       Top          := Form_Main.Top + FormCaption +
                       PageControl.Top + PageControl.TabHeight +
                       TabSheet.Top;
       try
         ShowModal;
       finally
         Free;
       end;
  end;
end;
Salvador (salvica)

gracias a Caral por la ayuda

NOTA:
Form_Main es mi form desde donde llamo al procedimiento, se pordría generalizar pasándole este último
Código Delphi [-]
procedure TForm_Main.CrearFormTabSheet( Form_Main:TForm; TabSheet:TTabSheet );
Saludos

Última edición por salvica fecha: 09-09-2007 a las 17:52:30.
Responder Con Cita