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 15-07-2004
elbilla elbilla is offline
Miembro
 
Registrado: jul 2004
Posts: 27
Poder: 0
elbilla Va por buen camino
Ayuda con PageControl

Tengo un pequeño programa en el q hago lo siguiente:

1- En el Page control paso de una pestaña a otra con botones dentro de los TabSheet (con TabSheet.visible:=true) , pero como puedo hacer para q solo se pueda pasar con mis botones y no con las pestañas(TabSheet del PageControl). He probado a poner el Enabled a False, pero entonces desactiva todo el PageControl y no funcionan los botones. Otra cosa es q cada vez q lo abro se inicia en un TabSheet distinto y no el primero.

2- Este primer programita es un juego, pero hay unos cuantos más. ¿Cómo hago para q me salgan todos en la misma ventana? Me explico: El primero q he hecho tiene un TPanel (donde estan todos los botones para empezar los juegos) y pulsando el boton se oculta el Tpanel y se abre el PageControl.
Mi pregunta es como es la forma más comoda de hacerlo. Yo he pensado hacerlo con PageControl, 8 juegos=8 Pagecontrol, y mostrandolos y ocultandolos segun el juego. Es correcto así o me recomendais otra forma.
Se puede hacer con las Frames ??? Lo q no sé muy bien es como funcionan. Saldrian los Frames dentro del Form principal ??
Bueno mañana lo probaré.

Un saludo.
Responder Con Cita
  #2  
Antiguo 15-07-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Te recomiendo probar el TNotebook, es algo similar a un TPageControl pero sin los tabs.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 15-07-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lo primero es muy fácil. El evento OnChanging del PageControl se genera cuando se intenta cambiar de ficha. Si asignas false al parámetro AllowChange de este evento entonces no se realiza el cambio de página.

Lo único que tienes que hacer entonces fijar una variable booleana que pondrías a true sólo si haces el cambio mediante el botón:

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

procedure TForm1.Button1Click(Sender: TObject);
begin
  CanChange := true;
  PageControl1.ActivePageIndex := PageControl1.ActivePageIndex + 1;
  CanChange := false;
end;

En cuanto a lo segundo, no es cierto. El PageControl no inicia en el TabSheet que se le ocurre. Inicia en el que hayas dejado activo durante el diseño, que suele ser distinto del primero porque uno está manipulando el control y se olvida de activar la primera ficha. Para evitar esto basta que en el constructor del formulario pongas PageControl.ActivePageIndex := 0;

En lo que se refiere a la segunda pregunta, pues sí, la verdad yo no usaría un PageControl sino Frames. Te ingenias un menú, ya sea un simple TMainMenu, o una serie de opciones en un panel y según la que seleccione el usuario visualizas el fram correspondiente.

// Saludos
Responder Con Cita
  #4  
Antiguo 19-07-2004
elbilla elbilla is offline
Miembro
 
Registrado: jul 2004
Posts: 27
Poder: 0
elbilla Va por buen camino
Muchas gracias Roman.....Ya tengo resuelto lo del PageControl y los TabSheet..... Voy a probar ahora lo de los Frames q aun no lo he mirado.
Ya preguntaré despues de probar.....
Un saludo.
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


La franja horaria es GMT +2. Ahora son las 02:55:00.


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