Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como agregar mas paginas a un Tabbes Pages (https://www.clubdelphi.com/foros/showthread.php?t=24071)

Antuan 07-08-2005 12:41:53

Como agregar mas paginas a un Tabbes Pages
 
Sigo siendo novato
Tengo un componente Tabbes Pages con 3 paginas que se crean por defecto al poner el componente en el formulario
¿Como puedo agregar mas paginas al Tabbes Pages.?
Muchas gracias por vuestras respuestas
Atentamente
Antuan

Lepe 07-08-2005 14:45:53

Primero deja de usar el TabControl y usa su homólogo TPageControl, es más versatil.

Usa el boton derecho sobre el componente en tiempo de diseño, y verás para la opción para añadir un nuevo TabSheet.

Un saludo

Cabanyaler 08-08-2005 08:46:24

... y en tiempo de ejecución:

NamePageCtrl.Pages.Create;

asignándole después los nombres y características que desees en cada una de sus propedades como a cualquier otro objeto.

:p

Antuan 08-08-2005 09:10:23

No me pasa de pagina
 
Tengo 7 paginas y en la ultima doy la opcion con 2 botones
SALIR
CONTINUAR
Y en la opcion CONTINUAR le digo que me vaya a la pagina primera.
Pero no me va.
¿Que hago mal? 0 ¿ Me falta algo?
Codigo en Delphi

Código Delphi [-]
procedure TPagesDlg.TabSheet7Enter(Sender: TObject);
begin
If Application.MessageBox('Deseas Terminar?','ESPERANDO',MB_OKCANCEL+MB_ICONQUESTION)=IDOK then
Application.Terminate
else
PageMenu.SelectNextPage(TabSheet1.TabVisible = True);
PageMenu.ActivePage:= TabSheet1;
end;

TabSheet7 es la pagina 7
TabSheet1 es la pagina 1 donde quiero que se vaya y presente la pagina 1 al pulsar el boton CONTUNUAR

dec 08-08-2005 10:07:15

Hola,

Creo que no estás usando correctamente la instrucción:

Código Delphi [-]
PageMenu.SelectNextPage(TabSheet1.TabVisible = True);
Pero, no te preocupes por eso ahora. En todo caso, no hacen falta las dos instrucciones que utilizas ahora, esto es:

Código Delphi [-]
PageMenu.SelectNextPage(TabSheet1.TabVisible = True);
PageMenu.ActivePage:= TabSheet1;
Hay al menos dos formas de "dirigirse" a una pestaña en el control "TPageControl", son estas:

Código Delphi [-]
PageControl1.ActivePageIndex := 0;
PageControl1.ActivePage := TabSheet1;
Nota que la segunda es la que usas tú, y que no se entiende muy bien cómo no te funciona, como no sea que algo tenga que ver la instrucción inmediatamente anterior, que, como te digo arriba, no estás empleando del todo correctamente, aunque no te aparezca ningún error al compilar.

Prueba con una de las instrucciones que te digo (y no las dos, puesto que las dos hacen lo mismo, solo que de distinta forma) y cuenta qué tal te va, puesto que creo no tendrás problemas.

Antuan 08-08-2005 15:54:54

No me funciona
 
Supongo que algo hago mal.
Dec te he mandado la aplicacion para que si tienes un ratito le heches un vistazo si tienes tiempo, de todas formas lo repetire todo de nuevo a ver si me funciona aunque me parece que todo esta bien.
Muchas gracias.

dec 08-08-2005 17:12:45

Hola,

Ya te respondí Antuan. Resulta que si utilizas el evento "OnShow" (creo que también ocurre en "OnEnter") de un "TTabSheet" para dirigirte a otra pestaña, por ejemplo, no funciona: porque la instrucción que lleva a la pestaña que precises se ejecutará, pero acto seguido "el flujo" del programa continua por debajo de la instrucción de marras, y, aunque no halla otras, el caso es que no se mostrará la pestaña que precises, o, por mejor decir, se mostrará, pero tan rápidamente que apenas si se ve y acto seguido se vuelve a la pestaña cuyo evento "OnShow" se utilizó...

Echa un vistazo en la ayuda de Delphi para el evento "OnEnter" y "OnShow": mi inglés no me permite una traducción muy buena, la verdad, pero, creo que los tiros van por ahí... ya te lo digo en el correo: es parecido a cuando tratas de cambiar la propiedad "Visible" de un formulario en sus eventos "OnCreate" u "OnShow"... no podrás hacerlo. La diferencia es que en este último caso Delphi se quejará con un mensaje de error, mientras que en el caso que nos ocupa no es así.

Bueno. Es que de hecho, como digo, la instrucción: "ActivePageIndex := 0" funciona, pero, al cabo no sirve de nada: el foco vuelve a la página en cuyo evento "OnShow" se escribió dicha instrucción. Te he comentado también en el correo que podrías tal vez (si alguien no presenta otra solución) hacer algún cambio en la interfaz de tu aplicación, de tal forma que evitaras el uso de la instrucción susomentada en los referidos eventos.

Antuan 08-08-2005 17:50:51

Efectivamente
 
He bajado la velocidad del portatil y efectivamente se ve que sale y luego vuelve de nuevo.
Ya vere el correo pues aun no me ha llegado y supongo que algun otro tampoco.
el ultimo que tengo tuyo es del dia 30 de Julio.
Gracias por tus comentarios y tu ayuda.

dec 08-08-2005 18:22:49

Hola,

Cita:

Empezado por Antuan
Ya vere el correo pues aun no me ha llegado y supongo que algun otro tampoco.
el ultimo que tengo tuyo es del dia 30 de Julio.

Bueno. Te llegará, supongo, puesto que lo he mandado y a mí no se me ha notificado ningún problema. Revisando los correos enviados compruebo que no te he enviado más que este correo desde el 30 de julio; de todos modos, básicamente, te digo lo que te he dicho aquí Antuan.


La franja horaria es GMT +2. Ahora son las 06:39:11.

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