Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   TabSheet en tiempo de ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=15391)

chechu 21-10-2004 20:08:49

TabSheet en tiempo de ejecucion
 
Desde ya gracias por la ayuda que me puedan dar......................

Estoy trabajando con un PageControl en el cual las paginas(TabSheet) se crean en tiempo de ejecucion . Lo que hice son dos botones (externos al PageControl...) para poder desplazarme por dichas paginas en los cuales el codigo que utilize:

Procedure TForm.ToolButton1Click......
Begin
PageControl1.SelectNextPage(false);
end;

este es para el boton para ir a la pagina anterior.....Pero no hace nada cuando lo ejecuto:confused: ....que sera?

delphi.com.ar 21-10-2004 21:11:53

No se donde trendras el problema, pero el método SelectNextPage funciona bien... Comprobalo contra mi código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    MiPageControl: TPageControl;
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  MiPageControl := TPageControl.Create(Self);
  MiPageControl.Parent := Self;

  for i := 0 to 5 do
    with TTabSheet.Create(Self) do
    begin
      Parent := MiPageControl;
      PageControl := MiPageControl;
      Caption := 'TabSheet' + IntToStr(i);
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  MiPageControl.SelectNextPage(True);
end;

end.

chechu 22-10-2004 16:01:23

Gracias por la ayuda perop.....
 
Mi problema es que yo creo las paginas (tabs) en tiempo de ejecucion con el permiso del usuario que pulsa un boton para tener una pagina nueva (puede agregar la cantidad deseada ..hasta15 como limite)...sobre el PageControl que ya esta creado en tiempo de diseño entonces el codigo :( no me funciona .....
Alguna otro ayudita??

delphi.com.ar 22-10-2004 16:07:08

En el código que te pase, se crean las dos cosas en tiempo de ejecución, para el caso sería lo mismo... ¿Cómo creas tus TabSheets?

chechu 22-10-2004 16:30:41

Aqui esta...
 
Este es el codigo del boton que crea las tab en tiempo de ejecucion y depues en un boton que ubique sobre la barra de herramienta es que coloque el codigo para moverme entre las paginas y no funciona...


procedure THerramienta.ToolButton1Click(Sender: TObject);
var
strCaption:string;
NuevoTabSheet: TTabSheet;
Marco: TFrame;

begin

NuevoTabSheet:= TTabSheet.Create(PageControl1);
NuevoTabSheet.Visible:= True;
NuevoTabSheet.Caption:= strCaption;
NuevoTabSheet.PageControl:= PageControl1;
PageControl1.ActivePage:= NuevoTabSheet;
Marco:= TFrame.Create(NuevotabSheet);
NuevoTabSheet.InsertControl(Marco);
Marco.Color:= clwhite;
Marco.Align:= alClient;
Marco.OnDragOver:= Mover;
end;

se te ocurre cual es mi error?

delphi.com.ar 25-10-2004 16:32:32

Cechu.. probé tu código y me funciona sin problemas... Lo único que tengo para comentarte es que estas utilizando un TFrame y me parece que no es la clase indicada para lo que quieres...

Saludos!


La franja horaria es GMT +2. Ahora son las 22:50:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi