Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Regresar a la pespaña anterior en el pagecontrol (https://www.clubdelphi.com/foros/showthread.php?t=85017)

novato_erick 14-01-2014 17:47:34

Regresar a la pespaña anterior en el pagecontrol
 
Hola amigamos:

Estoy utilizando el Componente PageControl el cual tengo una validación que si no se cumple regrese a la pestaña principal o a la pagina principal del pageControl1.

como el TabSheet no tiene un evento OnClick lo relizo en el OnShow del segundo TabSheet ejemplo:
Código Delphi [-]
procedure TFrmIngresarArticulo.TabSheet2Show(Sender: TObject);
begin
if Valida = false then
 begin
  ShowMessage('Favor Verificar Datos de Articulos');
 // PageControl1.FindNextPage(TabSheet2, False, True); //también lo intente de esta forma utilizando el método findnextPage del PageControl pero no me funciono
 PageControl1.ActivePage := PageControl1.Pages[0];// aqui traté de obligar a que se ponga en la pagina con el indice 0
 end;
end;

Alguna sugerencia?

Saludos

jhonny 14-01-2014 18:18:10

Bueno, así como lo haces debe funcionar correctamente lo que entendí que quieres hacer. Por mi parte no comprendo cual es tu inquietud realmente :S

novato_erick 14-01-2014 18:30:06

Exacto así es en teoría se hace pero simplemente no hace el procedimiento en el código simplemente se queda en el TabSheet2 después de enviar el mensaje no se coloca en el TabSheet1.... esa es mi inquietud...
y lo que quiero hacer es que no me permita pasar a la siguiente pagina aunque precione en las pestañas 2 hasta que mi valida este en true;


Saudos a jhonny...

novato_erick 14-01-2014 19:36:15

Solucionado
 
Tenias Razón jhony:

debia de funcionar y lo logré en el evento OnChange del PageControl así:

Código Delphi [-]
procedure TFrmIngresarArticulo.PageControl1Change(Sender: TObject);
begin
if Valida = false then
 begin
  ShowMessage('Favor Verificar Datos de Articulos');
  PageControl1.ActivePageIndex := 0;
 end;
end;

Anteriormente estaba en el Evento OnShow del TabSheet2 en realidad no se me ocurre porque no tenia el comportamiento deseado sin embargo creo que doy por finalizado este tema

Saludos..

jhonny 14-01-2014 20:26:06

¡Genial! :), felicidades.


La franja horaria es GMT +2. Ahora son las 22:24:03.

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