GARANTIR DESCONTO

Fórum Detectar mudança do controle atual #276500

11/04/2005

0

Preciso fazer o programa exibir na barra de status, um texto de ajuda referente ao controle com o foco.

Estava para isso, usando o hint, porém o texto aparece apenas caso o cursor do mouse esteja sobre o controle, nao necessariamente, o controle atual, com o foco, caso o usuário percorra os campos do form com a tecla TAB, essa técnica já não funciona.

Verificar o pressionamento da tecla TAB, também não funciona, visto que o usuário pode clicar em outro controle, e dessa forma, o evento não seria chamado.

No form, não existe nenhum evento que trate isso, será que alguem sabe uma forma ´elegante´ de se fazer isso, sem ter que definir este texto nos eventos OnEnter e OnExit de cada controle? Principalmente pq vários controles já têm seus eventos OnEnter e OnExit definidos para outras tarefas....

Talvez exista alguma mensagem do windows que seja enviada à cada mudança de controle... Alguem conhece?

Obrigado.


Thiago Vidal

Thiago Vidal

Responder

Posts

11/04/2005

Massuda

Talvez funcione igual ao caso do hint, mas o objeto global [b:839cd9a9fb]Screen[/b:839cd9a9fb] possui um evento chamado [b:839cd9a9fb]OnActiveControlChange[/b:839cd9a9fb] que talvez sirva para sua necessidade.


Responder

Gostei + 0

11/04/2005

Beppe

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure ScreenOnActiveControlChange(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ScreenOnActiveControlChange(Sender: TObject);
begin
  // trate aqui
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Screen.OnActiveControlChange := ScreenOnActiveControlChange;
end;



Responder

Gostei + 0

11/04/2005

Thiago Vidal

Muito Obrigado, era exatamente o que eu estava precisando!!!


Responder

Gostei + 0

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

Aceitar