Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Today's Posts

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 02/08/2010
valeria valeria is offline
Miembro
 
Join Date: Dec 2008
Posts: 14
Poder: 0
valeria Va por buen camino
Foco en PageControl

Buenas tardes, les quisiera hacer una consulta..resulta que estoy creando por código un page control ,con dos Tabshett y adentro de esos dos TTabSheet creo un dbgrid,mi pregunta es la siguiente cuando yo entro al form donde se encuntra el page control, él foco no se encuntra en el dbgrid...y tengo que cliquear alguna de las celdas para poder moverme en las celdas de ese dbgrid... como puedo hacer para que al entrar en el page control el foco se encuntre directamente en el dbgrid...aclaro que probé en hace DBGDatos.SetFocus,pero me tira error...

Código Delphi [-]
begin
  MiPageControl := TPageControl.Create(Self);
  MiPageControl.Parent := Self;
  MiPageControl.Align:= AlClient;
  DBGDatos:= TDBGrid.Create(self);
  DBGDatos1:= TDBGrid.Create(self);
  Hoja1:= TTabSheet.Create(MiPageControl);
  Hoja2:= TTabSheet.Create(MiPageControl);
  with Hoja1 do
  begin
       PageControl := MiPageControl;
       DBGDatos.Parent := Hoja1;
       DBGDatos.Top:= 60;
       DBGDatos.Width:= 600;
       DBGDatos.DataSource:= self.DataSource1;
       self.ADODataSet1.Active:= true;
      end;
   with Hoja2 do
   begin
       PageControl := MiPageControl;
       DBGDatos1.Parent := Hoja2;
       DBGDatos1.Top:= 60;
       DBGDatos1.Width:= 600;
       DBGDatos1.DataSource:= self.DataSource1;
       self.ADODataSet1.Active:= true;
   end;
     MiPageControl.ActivePage:= Hoja1;
     MiPageControl.ActivePage:= Hoja2;
 end;
Reply With Quote
  #2  
Old 02/08/2010
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: 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
Prueba poniendo la propiedad TabStop de los TabSheet en false.

// Saludos
Reply With Quote
  #3  
Old 02/08/2010
valeria valeria is offline
Miembro
 
Join Date: Dec 2008
Posts: 14
Poder: 0
valeria Va por buen camino
Foco en PageControl

Gracias Román pero no hace nada poner la propiedad TabStop en false; sigue como congelado el dbgrid hasta que no le doy clic en alguna de sus celdas....
Reply With Quote
  #4  
Old 02/08/2010
roman's Avatar
roman roman is offline
Moderador
 
Join Date: May 2003
Location: 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
Hola,

Aparentemente me funciona si pongo el DBGDatos.SetFocus en el evento OnEnter del TabSheet que contiene al DBGrid.

// Saludos
Reply With Quote
  #5  
Old 03/08/2010
ecfisa's Avatar
ecfisa ecfisa is offline
Moderador
 
Join Date: Dec 2005
Location: Tres Arroyos, Argentina
Posts: 10,508
Poder: 38
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.
Una forma podría ser usando el evento OnChanging del TPageControl.

Code:
...
type
  TForm1 = class(TForm)
  private
     procedure MiPageControlChanging(Sender: TObject;
        var AllowChange: Boolean);
  public
     procedure FormCreate(Sender: TObject);
     procedure FormActivate(Sender: TObject);
  end;
var
  Form1: TForm1;
  MiPageControl: TPageControl;
  DBGDatos,DBGDatos1: TDBGrid;
  Hoja1,Hoja2: TTabSheet; 

implementation

procedure TForm1.MiPageControlChanging(Sender: TObject;
  var AllowChange: Boolean);
begin
  case TPageControl(Sender).TabIndex of
    0: DBGDatos.SetFocus;
    1: DBGDatos1.SetFocus;
    3: // otro TTabSheet... 
    4: // ...
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  MiPageControl := TPageControl.Create(Self);
  with MiPageControl do
  begin
    Parent := Self;
    Align:= AlClient;
    OnChanging:= MiPageControlChanging;
  end;
  DBGDatos:= TDBGrid.Create(self);
  DBGDatos1:= TDBGrid.Create(self);
  Hoja1:= TTabSheet.Create(MiPageControl);
  Hoja2:= TTabSheet.Create(MiPageControl);
  with Hoja1 do
  begin
    PageControl := MiPageControl;
    DBGDatos.Parent := Hoja1;
    DBGDatos.Top:= 60;
    DBGDatos.Width:= 600;
    DBGDatos.DataSource:= DataSource1;
    ADODataSet.Active:= true;
  end;
  with Hoja2 do
  begin
    PageControl := MiPageControl;
    DBGDatos1.Parent := Hoja2;
    DBGDatos1.Top:= 60;
    DBGDatos1.Width:= 600;
    DBGDatos1.DataSource:= DataSource2;
    ADODataset1.Active:= true;
  end;
end;

{ FormActivate, para que aparezca con foco en DBGDatos al entrar al Form }
procedure TForm1.FormActivate(Sender: TObject);
begin
  with MiPageControl do
  begin
    ActivePage:= Hoja1;
    DBGDatos.SetFocus;
  end;
end;
end.
Las variables las trabajé como globales y usé dos DataSets distintos a fin de probar el ejemplo.
Una cosa mas, el uso del parámetro self, es innecesario en este caso.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Last edited by ecfisa : 03/08/2010 at 04:24.
Reply With Quote
  #6  
Old 03/08/2010
valeria valeria is offline
Miembro
 
Join Date: Dec 2008
Posts: 14
Poder: 0
valeria Va por buen camino
Gracias Ecfisa!!! ahora si funciona como yo queria,muchisiiiimas gracias!!
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
PageControl {El Muy Mencionado} GeoAvila Varios 6 01/03/2007 13:37
Pagecontrol emiliu Varios 3 02/12/2005 07:59
Bordes de un PageControl roman OOP 3 08/09/2004 08:56
Ayuda con PageControl elbilla Varios 3 19/07/2004 19:57
Pagecontrol Fita Varios 2 21/12/2003 05:07


All times are GMT +2. The time now is 00:09.


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