como guardar o focus do registro anterior

Delphi

06/09/2005

galera, como eu poderia fazer para guardar o foco do componente anterior que eu estava.

Minha situacao eh a seguinte, tenho 2 dbgrids,e um botao quando eu clico no botao eu teria q saber em qual dbgrid estava o foco pra mim fazer tal coisa.

fiz a seguinte tentativa mas naum deu...

if dbgrid1.focused then
....
...
...


Zumbi

Zumbi

Curtidas 0

Respostas

_rodfaria_

_rodfaria_

06/09/2005

-Na área privada do seu form crie uma variável para conter o nome do último grid:

private
FNomeUltimoGrid:string;


-No evento OnExit de cada DBGrid faça:

procedure TForm1.DBGrid1Exit(Sender: TObject);
begin
FNomeUltimoGrid:=DBGrid1.Name;
end;
procedure TForm1.DBGrid2Exit(Sender: TObject);
begin
FNomeUltimoGrid:=DBGrid2.Name;
end;

-E no botão use a variável para tomar suas decisões:

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(´ultimo grid com foco foi ´+FNomeUltimoGrid);
end;


GOSTEI 0
Zumbi

Zumbi

06/09/2005

teria como saber, o componete anterior que esta vindo o foco? pois caso o usuario nao clique no grid ele nao vai mostrar nda.


GOSTEI 0
Marco Salles

Marco Salles

06/09/2005

Na área privada do seu form crie uma variável para conter o nome do último grid: private FNomeUltimoGrid:string;


So que ao Inves de :

No evento OnExit de cada DBGrid faça:


Use o evento OnEnter o codigo Generico , para qualquer DbGrid

FNomeUltimoGrid:=TDbGrid(sender).Name; 



GOSTEI 0
POSTAR