quando a aplicação perder o foco
Olá
Eu preciso de executar alguns cídigos , toda vez que minha aplicação perder o foco , ou for minimizada
Alguem sabe qual o evento que se deve usar nestas condiçoes ????
obrigado...
Eu preciso de executar alguns cídigos , toda vez que minha aplicação perder o foco , ou for minimizada
Alguem sabe qual o evento que se deve usar nestas condiçoes ????
obrigado...
Marco Salles
Curtidas 0
Respostas
Massuda
27/07/2005
Acho que você deve usar os eventos OnDeactivate e OnMinimize do objeto global Application; dependendo da sua versão do Delphi, pode usar um componente AppEvents.
GOSTEI 0
Marco Salles
27/07/2005
Acho que você deve usar os eventos OnDeactivate e OnMinimize do objeto global Application;
sim massuda , mas onde eu defino esses eventos :?: :?: :?:
application.OnDeactivate e application.OnMinimize; :?: :?: :?: Pelo que me consta esse objeto ao contrário do componente AppEvents , não é fisico :?: :?: :?:
GOSTEI 0
Massuda
27/07/2005
[quote:0f6080604b=´Marco Salles´]...onde eu defino esses eventos?[/quote:0f6080604b]Você pode usar um componente TAppEvents no form principal do seu programa (é o jeito mais fácil) ou no form principal do seu programa você declara as procedures necessárias e no OnCreate/OnDestroy do form principal você faz os ajustes necessários no objeto global Application.
O objeto Application é global, está disponível em qualquer unit que inclua a unit Forms. É preferível que você faça isso no form principal porque com certeza o form existe durante a execução do programa e, consequentemente, o código que você por para executar no OnDeactivate/OnMinimize do Application está disponível.
O objeto Application é global, está disponível em qualquer unit que inclua a unit Forms. É preferível que você faça isso no form principal porque com certeza o form existe durante a execução do programa e, consequentemente, o código que você por para executar no OnDeactivate/OnMinimize do Application está disponível.
GOSTEI 0
Marco Salles
27/07/2005
beleza massusa.
Usar este componente é tranquilo.. Não tem nenhum problema.
mas so ha titulo de aprendizado , se eu fosse optar pela primeira opção:
Como seria por exemplo , um desses codigos massuda :?: :?: :?:
Usar este componente é tranquilo.. Não tem nenhum problema.
mas so ha titulo de aprendizado , se eu fosse optar pela primeira opção:
no form principal do seu programa você declara as procedures necessárias e no OnCreate/OnDestroy do form principal você faz os ajustes necessários no objeto global Application.
..........consequentemente, o código que você por para executar no OnDeactivate/OnMinimize do Application está disponível.
Como seria por exemplo , um desses codigos massuda :?: :?: :?:
GOSTEI 0
Massuda
27/07/2005
[quote:8e00a5ddcd=´Marco Salles´]...se eu fosse optar pela primeira opção... Como seria por exemplo , um desses codigos[/quote:8e00a5ddcd]Do jeito antigo (antes de inventarem o componente TAppEvents) o código iria todo no form principal e ficaria parecido com isso......a única diferença é o tratamento no OnCreate/OnDestroy do form.
type TSeuForm = ... ... procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private procedure ApplicationMinimize(Sender: TObject); procedure ApplicationDeactivate(Sender: TObject); ... procedure TSeuForm.FormCreate(Sender: TObject); begin ... Application.OnMinimize := ApplicationMinimize; Application.OnDeactivate := ApplicationDeactivate; end; procedure TSeuForm.FormDestroy(Sender: TObject); begin ... Application.OnMinimize := nil; Application.OnDeactivate := nil; end; procedure TSeuForm.ApplicationMinimize(Sender: TObject); begin ... end; procedure TSeuForm.ApplicationDeactivate(Sender: TObject); begin ... end;
GOSTEI 0
Marco Salles
27/07/2005
--------------------------------------------------------------------------------
Marco Salles escreveu:
...se eu fosse optar pela primeira opção... Como seria por exemplo , um desses codigos
Do jeito antigo (antes de inventarem o componente TAppEvents) o código iria todo no form principal e ficaria parecido com isso...Código:
type
TSeuForm = ...
...
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
procedure ApplicationMinimize(Sender: TObject);
procedure ApplicationDeactivate(Sender: TObject);
...
procedure TSeuForm.FormCreate(Sender: TObject);
begin
...
Application.OnMinimize := ApplicationMinimize;
Application.OnDeactivate := ApplicationDeactivate;
end;
procedure TSeuForm.FormDestroy(Sender: TObject);
begin
...
Application.OnMinimize := nil;
Application.OnDeactivate := nil;
end;
procedure TSeuForm.ApplicationMinimize(Sender: TObject);
begin
...
end;
procedure TSeuForm.ApplicationDeactivate(Sender: TObject);
begin
...
end;
...a única diferença é o tratamento no OnCreate/OnDestroy do form.
obrigado massuda , era isto mesmo que eu estava querendo refrescar a minha memória , principalmente esta linha de codigo abaixo::
begin ... Application.OnMinimize := ApplicationMinimize; Application.OnDeactivate := ApplicationDeactivate; end;
Valeu mesmo :P :P :P :P :P
GOSTEI 0