Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-11-2007
Avatar de bosterito
bosterito bosterito is offline
Miembro
 
Registrado: nov 2006
Ubicación: Tucumán, Argentina
Posts: 39
Poder: 0
bosterito Va por buen camino
Impedir el acceso a un TabSheet

Hola foro. Tengo un PageControl con varios TabSheet, y quisiera que al clickear en cualquier pestaña no se pudiera accederla. Es decir, al deshabilitar un TabSheet con la propiedad enable, los componentes de éste están deshabilitados, pero mi objetivo es que no se pudiera acceder a un determinado TabSheet.


Saludos.
Responder Con Cita
  #2  
Antiguo 12-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo lo de acceder a el?
Se puede hacer que no se vea o que al entrar en el haga algo adicional etc.
Que sera?
Nos explicas un poco mas?.
Saludos
Responder Con Cita
  #3  
Antiguo 12-11-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola Bosterito, probaste con lo siguiente?:

Código Delphi [-]
PageControl1.TabSheet1.Enabled := False;

PageControl1.TabSheet1.Visible := False;

Concuerdo con Caral en tratar de explicar un poco mas.

Saludos
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #4  
Antiguo 12-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Para meterme en camisa de once varas con el maestro.
Código Delphi [-]
TabSheet2.Enabled := False;
Lo que hace es inhabilitar los componentes que esten dentro del tab, siempre se tendra acceso a el.
Código Delphi [-]
TabSheet2.Visible := False;
Dependiendo que donde se llame a este procedimiento, no funcionara, seguira como nada.
Código Delphi [-]
TabSheet2.TabVisible:= false;
Este si hara invisible el tab.
Por eso pregunte, que se quiere hacer, por que hay muchas mas opciones.
Te parece Maestro?
Saludos
Responder Con Cita
  #5  
Antiguo 12-11-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Excelente Caral, con esa explicacion me has aclarado muchas cosas.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #6  
Antiguo 12-11-2007
Avatar de bosterito
bosterito bosterito is offline
Miembro
 
Registrado: nov 2006
Ubicación: Tucumán, Argentina
Posts: 39
Poder: 0
bosterito Va por buen camino
Hola. A lo que me refiero es si estoy parado en el TabSheet 1 y quiero acceder al TabSheet 2 o 3 solo lo pueda hacer a través de un botón y no al clickear en un TabSheet
Responder Con Cita
  #7  
Antiguo 12-11-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
A ver si te entendimos, lo que quieres es por ejemplo, hay dos botones y un solo tabsheet visible y el otro no, entonces, mediante el boton 2 se presente el segundo tabsheet y esconder el primer tabsheet y asi sucesivamente?.

si es asi entonces tenemos lo siguiente:

Código Delphi [-]
//boton 1 abre el primer tabsheet
PageControl1.Tabsheet1.Tabvisible := True;

PageControl1.Tabsheet2.Tabvisible := False;

//boton2 abre el segundo tabsheet
PageControl1.Tabsheet1.Tabvisible := False;

PageControl1.Tabsheet2.Tabvisible := True;

es eso lo que buscas o sigo sin entender?

Saludos
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #8  
Antiguo 12-11-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La unica opcion que se me ocurre en la tres de mi ultima intervencion.
Saludos
Responder Con Cita
  #9  
Antiguo 13-11-2007
Avatar de bosterito
bosterito bosterito is offline
Miembro
 
Registrado: nov 2006
Ubicación: Tucumán, Argentina
Posts: 39
Poder: 0
bosterito Va por buen camino
Gracias, me sirvió sus respuestas. Ahora quiesiera preguntarle otra cosa. Tengo un componente SpinEdit, el cual tiene la propiedad EnableEdit en falso para impedir usar la tecla BackSpace. Mi problema es que no anda con la tecla suprimir. Podría en el evento KeyPress usar esta opción, y cuál es caracter que corresponde a la tecla suprimir?. Desde ya muchas gracias.
Responder Con Cita
  #10  
Antiguo 13-11-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

El identificador que buscas, la constante de la tecla "Supr" o "Del" es "WK_DELETE". Puedes hacer algo así en el evento "OnKeyDown" del "TSpinEdit":

Código Delphi [-]
procedure TForm1.SpinEdit1KeyDown(Sender: TObject;
 var Key: Word; Shift: TShiftState);
begin
  if (Key = VK_DELETE) then
  begin
    // Evit the Supr/Del key
    Key := 0;
  end;
end;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #11  
Antiguo 13-11-2007
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Aún falta hacer una prueba más con el PageControl. Vamos a suponer que tomamos un PageControl y colocamos algunas pestañas (TabSheet).

Ahora vamos a su evento OnChanging y hacemos algo como esto:

Código Delphi [-]
procedure TForm1.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  AllowChange:=False;
end;

El resultado es que no podremos cambiar de pestaña dado que lo hemos indicado textualmente con la variable AllowChange.

También es posible hacerlo de manera condicional según nuestra conveniencia. Por ejemplo:

Colocamos 5 pestañas en un PageControl y en el evento OnChanging escribimos esto

Código Delphi [-]
procedure TForm1.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  AllowChange:=(TPageControl(Sender).ActivePageIndex<3);
end;

Le estamos indicando que solamente nos permita hacer clic en las pestañas si estamos dentro de alguna de las primeras cuatro páginas. Luego entonces, si caemos en la última página no tendremos salida (no se puede hacer clic en las pestañas), para salir de allí colocamos un botón para que nos regrese a la primera página al hacer click sobre él.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
   PageControl1.ActivePageIndex:=0;
end;

Me parece entender que esto es lo que planteaba bosterito

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Impedir redimension del programa jorgegetafe Varios 2 03-11-2007 20:57:02
Impedir que un Form reciba Foco gluglu Varios 6 15-05-2007 15:07:14
Impedir borrado de campo secundario!! magnu9 Conexión con bases de datos 13 11-11-2006 00:27:51
Impedir que se maximice un formulario Elenita Varios 10 20-07-2005 09:45:46
Impedir cierre de aplicacion Ezecool Varios 1 04-08-2003 23:29:47


La franja horaria es GMT +2. Ahora son las 00:48:20.


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
Copyright 1996-2007 Club Delphi