Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Deshabilitar una solapa de TPageControl (https://www.clubdelphi.com/foros/showthread.php?t=24460)

reina 22-08-2005 17:11:27

Deshabilitar una solapa de TPageControl
 
Holas como va? quisiera saber como puedo hacer para deshabilitar una solapa del componente TPagecontrol, ya que si utilizo la propiedad enabled en ejecucion lo que esta inhabilitado es todo el contenido..pero puedo clickear en la solapa y ver que tiene, lo que quiero es que no se pueda clickear que la solapa este inhablitada y hablitarla por medio de un boton.
Si me pueden ayudar se los agradeceria saludosssssss

Lepe 22-08-2005 17:38:51

pagecontrol1.pages[2].Visible := false;

o bien
TabSheet2.Visible := false;

Un saludo.

reina 22-08-2005 17:45:09

la verdad..que eso ya me lo dijeron incluso lo pense, pero no quiero eso, simplemente quiero no poder acceder a la solapa

jmariano 22-08-2005 18:07:14

Saludos!

Para lo que quieres, entonces, tendrás que jugar con los eventos "OnChanging" y "OnChange" del TPageControl. Una forma que se me ocurre es guardar el índice de la pestaña actual en el evento "OnChanging" y despues comprobar el índice de la pestaña a la que se cambió en el "OnChange", si el índice es el de la pestaña a la que no quieres acceder, entonces, lo cambiarías al almacenado en el evento "OnChanging".

Por ejemplo, imaginemos un TPageControl con tres pestaña y no dejaremos acceso a la segunda pestaña:

Código Delphi [-]
var
  PagAct: Integer;
 
procedure TForm1.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  // Pestaña actual donde se encuentra el usuario
  PagAct := (Sender as TPageControl).ActivePageIndex;
end;
 
procedure TForm1.PageControl1Change(Sender: TObject);
begin
  // Si se accede a la segunda pestaña volvemos a donde estábamos
  if (Sender as TPageControl).ActivePageIndex = 1 then
    (Sender as TPageControl).ActivePageIndex := PagAct;
end;

(Si no quieres usar una variable podrías usar, entonces, la propiedad "Tag" del TPageControl para almacenar la pestaña donde se encontraba el usuario)

reina 22-08-2005 18:14:10

gracias
 
tksss amiguis los voy a probar, gracias por tu tiempo.

byee saludos

dec 23-08-2005 01:16:39

Hola,

Cada pestaña de un "TPageControl" cuenta con una propiedad "TabVisible" de tipo booleano: si le das el valor "false" a dicha propiedad la página en cuestión no podrá ser seleccionada, porque su pestaña no será visible para el usuario. ¿Vale algo así? ;)


La franja horaria es GMT +2. Ahora son las 14:28:30.

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