Saber em qual tela o usuário esta, como?

Delphi

20/08/2005

Olá, tenho uma variavel global, e estou usando MDI, gostaria de saber se existe uma função, que mude a Variavel global com o Caption da tela que estiver ativa no momento... Teria que ser uma funcao geral, pois ficar mudando a varivel em cada form, seria impossivel, pois já está lá pros 40 a 50 forms... :D


Desde ja agradeco


[]s


Titanius

Titanius

Curtidas 0

Respostas

Sistemald

Sistemald

20/08/2005

experimente este código:

var
formativo:string;

código
Formativo:= screen.ActiveForm.Caption;



GOSTEI 0
Titanius

Titanius

20/08/2005

Olá amigo, eu colocaria isso numa funcao? se sim, ela devera ser chamada a cada novo form ativo, como eu faco isso?



[]s


GOSTEI 0
Sistemald

Sistemald

20/08/2005

Se você jogar este comando em cada form, vai funcionar, porém acredito que tem forma melhor, vamos pesquisar


GOSTEI 0
Massuda

Massuda

20/08/2005

...acredito que tem forma melhor...
O objeto global Screen possui um evento chamado OnActiveFormChange; sempre que esse evento for disparado, pegue o valor da propriedade Screen.ActiveForm. Faça algo assim...
type
  TSeuFormPrincipal = class...
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    procedure ScreenActiveFormChange(Sender: TObject);
...
procedure TSeuFormPrincipal.FormCreate(Sender: TObject);
begin
  ...
  Screen.OnActiveFormChange := ScreenActiveFormChange;
end;

procedure TSeuFormPrincipal.FormDestroy(Sender: TObject);
begin
  ...
  Screen.OnActiveFormChange := nil;
end;

procedure TSeuFormPrincipal.ScreenActiveFormChange(Sender: TObject);
begin
  // consulte Screen.ActiveForm para saber qual o form ativo
end;



GOSTEI 0
Titanius

Titanius

20/08/2005

Valeu galera.. funcionou.. :D:D:D


GOSTEI 0
POSTAR