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 29-10-2010
valeria valeria is offline
Miembro
 
Registrado: dic 2008
Posts: 14
Poder: 0
valeria Va por buen camino
Foco en Page control

Buenos Dias, tengo un problema con el page control, tengo un page control con tres tabsheet el problema es que esos tabsheet muestran informacion en un dbgrid bien el usuario abre el form y necesito tener el foco en esos dbgrid bien se abre el form.
Bien yo hasta que agregaba dos tabshett no tenia ningun problema pero apartir que agregue el tercer tabshett me tira el siguiente error: Cannot focus a disabled or invisible window ; este error lo tira ni bien abro el form; el codigo es el siguiente adonde "creo" puede estar la falla...

Código Delphi [-]
procedure TFrm.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  case TPageControl(Sender).TabIndex of
  0: self.DBGrid.SetFocus;
  1: self.DBGrid1.SetFocus;
  2: self.DBGrid2.SetFocus;
end;
end;

Código Delphi [-]
procedure TFrm.FormActivate(Sender: TObject);
var id: integer;
begin
 if PageControl1.ActivePage = self.TabSheet1 then
 begin
   self.DbGrid.SetFocus;
 end;
 if PageControl1.ActivePage = self.TabSheet2 then
 begin
  self.DBGrid1.SetFocus;
 end;
 if self.PageControl1.ActivePage = self.TabSheet3 then
 begin
  self.DBGrid2.SetFocus;
 end;
end;
Responder Con Cita
  #2  
Antiguo 29-10-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Lo que me extraña es que en el form Active indiques si los tabsheet estan activos cuando lo logico es que sea el primero solamente.
Cuando se cambia de tab es cuando se activa o no.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 29-10-2010
valeria valeria is offline
Miembro
 
Registrado: dic 2008
Posts: 14
Poder: 0
valeria Va por buen camino
Usaba el form Active por que voy resaltando la fila en la que se encuentra el Mouse , si no ponia algo asi como que cuando cambia de TabShett quedaba congelado...igualmente aunque saque el formActive me sigue tirando este error...me parece que no estoy manejando bien el tema de page control y tab sheet,estoy haciendo mal el foco....
Responder Con Cita
  #4  
Antiguo 29-10-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Hice un ejemplo con los mismos datos que tu, solo que con edits en vez de dbgrids y quitando el self, no me da ningun error.
Da la impresion de que el problema podria estar en la carga de los dbgrids.
Código Delphi [-]
procedure TForm1.FormActivate(Sender: TObject);
begin
   if PageControl1.ActivePage = self.TabSheet1 then
 begin
   edit1.SetFocus;
 end;
 if PageControl1.ActivePage = self.TabSheet2 then
 begin
  edit2.SetFocus;
 end;
 if self.PageControl1.ActivePage = self.TabSheet3 then
 begin
  edit3.SetFocus;
 end;
end;

procedure TForm1.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  case TPageControl(Sender).TabIndex of
  0: edit1.SetFocus;
  1: edit2.SetFocus;
  2: edit3.SetFocus;
end;
end;
Saludos
__________________
Siempre Novato
Responder Con Cita
  #5  
Antiguo 29-10-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Valeria, amigo Caral.

Estaba revisando el post, ya que una vez tratamos un tema relacionado aqui , y coincido totalmente con lo dicho por Caral. No logro que me salga ningún error... Aún dejando el innecesario 'Self'.

Saludos.

Última edición por ecfisa fecha: 29-10-2010 a las 21:07:53.
Responder Con Cita
  #6  
Antiguo 01-11-2010
Avatar de Aleca
Aleca Aleca is offline
Miembro
 
Registrado: may 2003
Ubicación: Venado Tuerto, Argentina
Posts: 277
Poder: 21
Aleca Va por buen camino
Cita:
Empezado por valeria Ver Mensaje
Buenos Dias, tengo un problema con el page control, tengo un page control con tres tabsheet el problema es que esos tabsheet muestran informacion en un dbgrid bien el usuario abre el form y necesito tener el foco en esos dbgrid bien se abre el form.
Bien yo hasta que agregaba dos tabshett no tenia ningun problema pero apartir que agregue el tercer tabshett me tira el siguiente error: Cannot focus a disabled or invisible window ; este error lo tira ni bien abro el form; el codigo es el siguiente adonde "creo" puede estar la falla...
ese error me lo tiró cuando puse un dbgrid en visible= false.
PD: el pagecontrol al iniciarse muestra el tabsheet q dejaste activo el diseño del formulario (si en el diseño estuviste trabajando en el tercero, al correr el programa se posiciona en el tercero y no en el primero).
__________________
Aleca
Responder Con Cita
  #7  
Antiguo 01-06-2015
ositoguatoncito ositoguatoncito is offline
Registrado
NULL
 
Registrado: mar 2015
Posts: 1
Poder: 0
ositoguatoncito Va por buen camino
una pequeña y humilde acotacion

yo probe con el evento onchange en vez de onchangin, y asi si me funciono.
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
Cambiar el tipo de letra en un Page Control hook Varios 0 15-04-2005 08:13:54
page control pablo OOP 3 08-03-2005 17:31:09
Page control plano Al González OOP 3 08-07-2004 23:55:12
duda con componente page control hook Varios 3 25-05-2004 20:34:34
Eliminar un tabsheet de un Page Control apicito OOP 15 01-10-2003 05:46:18


La franja horaria es GMT +2. Ahora son las 20:43: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
Copyright 1996-2007 Club Delphi