Ir al contenido


Foto

Formularios MDI Embebido en TabSheet


  • Por favor identifícate para responder
1 respuesta en este tema

#1 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 09 diciembre 2009 - 07:30

Saludos.

Últimamente he visto que la moda a nivel de diseño de aplicaciones es emular a los exploradores de Internet en relación al uso de pestañas.

He estado sopesando esa posibilidad, aunque debo de admitir (desde mi punto de vista) que lo único que se gana es organización, pues se pierde todas las ventajas de una aplicación MDI por ejemplo el Drag 'N' Drop.

Mis formularios de la aplicación son MDI (obvio), entonces tuve tratando de embeber los formularios dentro de un TabSheet del PageControl pero el código no funciona correctamente:


delphi
  1. procedure TFrmMenu.Child21Click(Sender: TObject);
  2. var
  3.   ATabSheet : TTabSheet;
  4. begin
  5.   ATabSheet := TTabSheet.Create(pgNavigation);
  6.   ATabSheet.PageControl := pgNavigation;
  7.   FrmChild2 := TFrmChild2.Create(ATabSheet);
  8.   FrmChild2.Parent := ATabSheet;
  9.   FrmChild2.Align := alClient;
  10.   FrmChild2.BorderStyle := bsNone;
  11.   FrmChild2.Visible := True;
  12.   ATabSheet.Caption := FrmChild2.Caption;
  13.   pgNavigation.ActivePage := ATabSheet;
  14.  
  15. //pgNavigation es un PageControl
  16. end;



Para que el código anterior funcione debo de cambiarle la propiedad FormStyle del FrmChild2 de fsMDIChild a fsNormal y ahí es donde radica mi problema; ¿Es posible mantener fsMDIChild y que se pueda embeber el formulario en un TabSheet?

Gracias anticipadas.
  • 0

#2 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 09 diciembre 2009 - 07:37

Mi opinión particular es que no se debería, ya que el MDICHILD el parent debiera ser un MDIFORM, pero como te decía, es mi opinión particular.  De pronto alguien pueda orientarte un poco mejor.
  • 0




IP.Board spam blocked by CleanTalk.