Ir ao topo

Tecnobyte

Logomarca da Tecnobyte
Contato por WhatsApp

WhatsApp

(69) 3421-6756

Contato por Telefone

(69) 3421-6756

(69) 3421-6757

Enviar mensagem

Enviar

mensagem

Contato por Facebook

Facebook

Atendimento de segunda a sexta, das 08h00 às 19h00 (horário de Brasília).

Delphi - Banco de Dados

Mostrar aviso em forma de hint

Banner
Inclua na seção uses: Controls
Nos tempos do Clipper era comum mostrar uma mensagem, 
aguardar alguns segundos e depois ocultá-la. Para quem ainda
gosta deste estilo apresento uma dica interessante. A rotina
abaixo mostra a mensagem de aviso em forma de "Hint", aguarda
o tempo especificado e finalmente retira a mensagem da tela.

procedure Aviso(const Msg: string; const Tempo: Cardinal);
var
  R: TRect;
  X: integer;
begin
  with THintWindow.Create(Application) do
  try
    { Calcula o retângulo }
    R := CalcHintRect(Screen.Width, Msg, nil);

    { Centraliza horizontalmente }
    X := R.Right - R.Left + 1;
    R.Left := (Screen.Width - X) div 2;
    R.Right := R.Left + X;

    { Centraliza verticalmente }
    X := R.Bottom - R.Top + 1;
    R.Top := (Screen.Height - X) div 2;
    R.Bottom := R.Top + X;

    { Mostra }
    ActivateHint(R, Msg);
    Update;

    { Aguarda }
    Sleep(Tempo);
  finally
    Free;
  end;
end;

Exemplo de uso:
Aviso('Mensagem de aviso', 5000); { Aguarda 5 segundos }

Observações

Usei este recurso por dois motivos. Primeiro para lembrar os velhos tempos do Clipper (legal!) e em segundo lugar para mostrar um breve exemplo que pode ser ampliado para melhorar as mensagens de dicas (hint) de aplicações feitas em Delphi.

O conteúdo desta página pode ajudar alguém? Compartilhe!