Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Desabilitar un TabSheet (https://www.clubdelphi.com/foros/showthread.php?t=26931)

jmlifi 08-11-2005 09:15:43

Desabilitar un TabSheet
 
Como puedo desabilitar un Tabsheet de un PageControl?
Lo siguiente no va:
1º nombreTabSheet.enabled := false;

2º PageControl.Pages[index].enabled := false;

ContraVeneno 08-11-2005 18:41:58

¿y porque no va?

¿te funciona hacerla invisible?

dmassive 22-03-2008 21:56:01

Estoy en un problema similar, me gustaria que no se pueda hacer click sobre las tabsheet desactivadas, pero si que sea vean, es decir, hacerlas invisibles no me sirve.

¿Que aplicacion tiene esto? pues si estas realizando alguna entrada de texto en la tabsheet actual, que no se puede cambiar a otra.

Muchas Gracias!

MaMu 22-03-2008 22:46:41

Y porque no controlar los TabSheets desde el evento OnChange del PageControl???
Por ejemplo:

Código Delphi [-]
if PageControl1.ActivePageIndex=0
then begin
   //lo que sea
end;
 
if PageControl1.ActivePageIndex=1 // No quiero que se use
then begin
   if (condiciones_para_usarse)=True
   then begin
     //la uso
   end
   else beginç
     //no la uso y me voy a otra
     PageContr0l1.ActivePageIndex:=0;
   end;
end;
 
if PageControl1.ActivePageIndex=2
then begin
   //lo que sea
end;

Podes hacer esto mismo con un Case

Saludos

dmassive 24-03-2008 12:51:28

Muchas gracias, estoy intentando usar un case, pero en vez de usar los indices, utilizar los nombre de las paginas. Esto es por si luego decido agregar o quitar pestañas, cambiar posicion, etc.

Aun estoy pensando como hacerlo para que funcione mas o menos asi:
Código Delphi [-]
  case PageControl1.ActivePage of
    tabsheet_mia: form1.caption := 'funciona!'
  end;

ContraVeneno 24-03-2008 15:29:54

Cita:

Empezado por dmassive (Mensaje 274650)
Estoy en un problema similar, me gustaria que no se pueda hacer click sobre las tabsheet desactivadas, pero si que sea vean

Yo creo que aquí tu mismo te contestaste, pero:
¿Ya probaste la propiedad "Enabled" de la hoja?
Si lo pones en falso, la hoja sí se ve, pero no pueden hacer nada sobre ella.

dmassive 24-03-2008 19:16:35

No, porque se sigue permitiendo cambiar de hoja. Que es lo que mencione al decir para que la necesitaba, es decir, no quiero que se vea la hoja, pero si la pestaña.

ContraVeneno 24-03-2008 22:37:51

la hoja y la pestaña son la misma cosa.

corrijo, si son cosas diferentes, porque puedo ver la hoja pero no la pestaña...

pero eso de que se vea la pestaña pero no la hoja, no se como se pueda hacer...

solo que vayas controlando el evento onshow de la hoja y la cambies por otra, es decir, sí se va a ver la pestaña, pero no podrán ver su contenido...

fuera de eso, pues no sabría como.

keyboy 25-03-2008 00:38:47

Yo lo que entiendo es que quiere impedir que se pueda cambiar de pestaña cuando se esté editando en una. Yo esto lo haría con el evento OnChanging (no confundir con el OnChange) ajustando el valor del parámetro AllowChange según sea el caso.

Código Delphi [-]
procedure TForm1.PageControl1Changing(Sender: TObject; var AllowChange: Boolean);
begin
  if (Sender as TPageControl).ActivePage = ElTabSheet then
    AllowChange := not ElTabSheet.EnEdicion
end;

Bye


La franja horaria es GMT +2. Ahora son las 10:25:34.

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