Ajuda com Hint Herdado

Delphi

30/12/2012

Criei um modelo de cadastro onde estou utilizando o componente ApplicationsEvents para controlar os Hints de alguns objetos, como por exemplo botões.

Esse modelo, utilizo com o repository com herança.

Quando tenho uma janela de cadastro aberta e passo o mouse por cima dos botões, é apresentado no statusbar a descrição do botão. Até aí, beleza.

O problema é quando tenho duas telas de cadastro abertas, ambas herdando as funcionalidades desse modelo, na janema que possui o foco (SHowModal) que passo o mouse no botão, a descrição é apresentada no statusbar das duas janelas, na que possui o foco e na que não possui o foco.

Como foço para o hint aparecer somente na que possui o foco?

Agradeço desde já qualquer ajuda...
Vagner Almeida

Vagner Almeida

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

30/12/2012

Posta o código que você está utilizando no evento do TApplicationEvents, assim fica mais fácil de avaliar e dizer algo.
GOSTEI 0
Vagner Almeida

Vagner Almeida

30/12/2012

Nada de mais:

procedure Tfrm_cadmodelo.ApplicationEventsHint(Sender: TObject);
begin
StatusBar.Panels[0].Text := Application.Hint;
end;
GOSTEI 0
Vagner Almeida

Vagner Almeida

30/12/2012

Tem algum outro jeito de eu aplicar no modelo. Para passar para as demais telas que herdam do modelo?
GOSTEI 0
Vagner Almeida

Vagner Almeida

30/12/2012

QUalquer coisa tenho TeamViewer, posso liberar o acesso para você ver
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

30/12/2012

Opa, tenta o seguinte:
procedure Tfrm_cadmodelo.ApplicationEventsHint(Sender: TObject);
begin
 if Screen.ActiveForm = Self then
    StatusBar.Panels[0].Text := Application.Hint;
end;


Isso vai verificar se o form que está ativo é o que está verificando o evento e só nesse caso vai mostrar a mensagem na StatusBar.

Vê no que dá.
GOSTEI 0
Vagner Almeida

Vagner Almeida

30/12/2012

Valeu
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

30/12/2012

E aí, no que deu?
GOSTEI 0
Vagner Almeida

Vagner Almeida

30/12/2012

Funcionou, 100%. Apliquei no formulário modelo e o código foi repassado para todos os outros formulários que possui o modelo como herança.

Perfeito. Obrigado
GOSTEI 0
POSTAR