GARANTIR DESCONTO

Fórum quando a aplicação perder o foco #289633

27/07/2005

0

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...


Marco Salles

Marco Salles

Responder

Posts

27/07/2005

Massuda

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.


Responder

Gostei + 0

27/07/2005

Marco Salles

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 :?: :?: :?:


Responder

Gostei + 0

27/07/2005

Massuda

[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.


Responder

Gostei + 0

27/07/2005

Marco Salles

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:

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 :?: :?: :?:


Responder

Gostei + 0

27/07/2005

Massuda

[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...
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.


Responder

Gostei + 0

27/07/2005

Marco Salles

-------------------------------------------------------------------------------- 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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar