Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   PageControl y TabSheets (https://www.clubdelphi.com/foros/showthread.php?t=54656)

jafera 26-03-2008 18:35:15

PageControl y TabSheets
 
Hola a todos, necesitaría ayuda sobre una duda que tengo.

Tengo creado un form dentro del cual hay varios dbedit, combobox, etc y un pagecontrol. Este contiene cinco tabsheets y me gustaría saber (y como) si dependiendo del valor de uno de los combobox se puedan enseñar o no las pestañas, es decir si el valor del combobox es 1 solo ver la pestaña 1 si es 2 la 1 y la 2 y así sucesivamente.

Gracias

kuan-yiu 26-03-2008 18:39:28

¿Te refieres a ir a la pestaña en cuestión o a ocultar las otras?

marcoszorrilla 26-03-2008 18:44:08

Para que te hagas una idea:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
Tabsheet1.Tabvisible:=False;
Tabsheet2.Tabvisible:=False;
Tabsheet3.Tabvisible:=False;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Tabsheet1.Tabvisible:=True;
end;

Un Saludo.

jafera 26-03-2008 18:59:13

[quote=marcoszorrilla;275416]Para que te hagas una idea:


Código Delphi [-]procedure TForm1.FormCreate(Sender: TObject);
begin
Tabsheet1.Tabvisible:=False;
Tabsheet2.Tabvisible:=False;
Tabsheet3.Tabvisible:=False;

end;

Esto ya lo he probado y me enseña solo la primera en todos los casos haciendo caso omiso del valor del combobox. Hasta prontoJosep

jafera 26-03-2008 19:04:06

Os adjunto una muestra del codigo por si es mas claro
Código:


procedure TF_Discs.DBComboBox2Change(Sender: TObject);
begin
        If DBComboBox2.Text = '1' then
        begin
                TabSheet1.TabVisible:=True;
                TabSheet2.TabVisible:=False;
                TabSheet3.TabVisible:=False;
                TabSheet4.TabVisible:=False;
                TabSheet5.TabVisible:=False;
        end;
        If DBComboBox2.Text = '2' then
        begin
                TabSheet1.TAbVisible:=True;
                TabSheet2.TAbVisible:=True;
                TabSheet3.TAbVisible:=False;
                TabSheet4.TAbVisible:=False;
                TabSheet5.TAbVisible:=False;
        end;
end;

Gracias de nuevo
Josep

jafera 26-03-2008 19:31:05

Gracias a todos, ya funciona como yo queria, el codigo era el correcto, pero el problema es que no estaba colocado en el evento correcto.

Repito, muchas gracias a todos

Josep

eduarcol 26-03-2008 19:53:10

y no es mas facil asi:

Código Delphi [-]
var
   nIdx: Integer;
begin
   //TABSHEET1.TABVisible := fALSE;
   for nIdx:= 0 to pagecontrol1.PageCount - 1 do
      pagecontrol1.Pages[nIdx].TabVisible := nIdx = DBCombobox1.ItemIndex;
end;

no hay que realizar tantas comparaciones

cloayza 26-03-2008 22:20:30

Cita:

Empezado por eduarcol (Mensaje 275442)
y no es mas facil asi:

Código Delphi [-]
var
   nIdx: Integer;
begin
   //TABSHEET1.TABVisible := fALSE;
   for nIdx:= 0 to pagecontrol1.PageCount - 1 do
      pagecontrol1.Pages[nIdx].TabVisible := nIdx = DBCombobox1.ItemIndex;
end;

no hay que realizar tantas comparaciones

El codigo anterior solo mostraria un TabSheet.


Código Delphi [-]
procedure TForm1.ComboBox1Change(Sender: TObject);
var
   nIdx: Integer;
begin
     For nIdx:= 0 To pagecontrol1.PageCount - 1 Do
         Pagecontrol1.Pages[nIdx].TabVisible :=Pagecontrol1.Pages[nIdx].PageIndex<=ComboBox1.ItemIndex;

end;

Creo que esto seria mejor.

Saludos desde
Concepcion-Chile

eduarcol 26-03-2008 22:23:32

Pues si, no habia entendido eso, creia que solo la que se elijio, gracias por la aclaracion.

jafera 27-03-2008 10:14:47

He probado este codigo y no me muestra ningun tab.

Saludos

eduarcol 27-03-2008 11:49:24

te genera algun mensaje de error?, lo copiastes tal cual esta?, lo acabo de probar y funciona muy bien.

jafera 29-03-2008 13:09:48

Sencillamente me muestra el Page Control en gris sin ningun tab dentro de el


La franja horaria es GMT +2. Ahora son las 11:17:50.

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