Mostrar hint quando o componente receber o foco

Delphi

09/02/2004

OLA PESSOAL

ALGUEM SABE COMO MOSTRAR A HINT DE UM DETERMINADO COMPONENTE DO FORM QUANDO ELE RECEBE O FOCO E COMO FAÇO UM HINT DE MULTIPLAS LINHAS

AGRADEÇO ANTECIPADAMENTE

FLAVIOSAN


Flaviosan

Flaviosan

Curtidas 0

Respostas

Fabio.hc

Fabio.hc

09/02/2004

Para mostrar o hint em varias linhas:

Edit1.hint := ´Primeira Linha´+#13+´Segunda Linha´+13+ ´Terceira Linha´+13+´Quarta Linha´;
Obs. Não esquecer de mudar para TRUE o evento ShowHint


GOSTEI 0
Flaviosan

Flaviosan

09/02/2004

Para mostrar o hint em varias linhas:
Edit1.hint := ´Primeira Linha´+#13+´Segunda Linha´+13+ ´Terceira Linha´+13+´Quarta Linha´;
Obs. Não esquecer de mudar para TRUE o evento ShowHint


OBRIGADO PELA RESPOSTA, SÓ QUE EU TAMBEM QUERIA FAZER APARECER O HINT DE UM COMPONENTE SEM USAR O MOUSE(POSICIONANDO OPONTEIRO SOBRE O COMPONENTE) E SIM COM O FOCO DA APLICAÇÃO.

FLAVIOSAN


GOSTEI 0
Flaviosan

Flaviosan

09/02/2004

Olá pessoal, aqui estou eu pra ressucitar esse meu velho post, que ainda continua sem resposta. Tem como mostrar o hint sem usar o mouse?
Agradeço antecipadamente.


GOSTEI 0
Flaviosan

Flaviosan

09/02/2004

Obrigado a quem mudou o titulo da minha mensagem que estava em maiúsculo, achei que ela iria ser bloqueada.


GOSTEI 0
Nildo

Nildo

09/02/2004

Obrigado a quem mudou o titulo da minha mensagem que estava em maiúsculo, achei que ela iria ser bloqueada.


:wink: Eu ia bloquear mas ví que a mensagem era antiga então apenas editei o título, porque você evitou de postar duplicidade e aproveitou o mesmo tópico.

Um abraço!


GOSTEI 0
Nildo

Nildo

09/02/2004

Você pode usar o THintWindow. Cria ele e dá um

SeuTHintWindow.ActiveHint( Rect, ´Linha1´ + #1310 + ´Linha2´ );

no OnEnter do componente.
O Rect você calcula de acordo com o texto que você vai colocar, mas para testar você coloca algum numero absurdo como 50 de Width e 50 de Height.

Espero tê-lo ajudado


GOSTEI 0
Flaviosan

Flaviosan

09/02/2004

Matou a pau nildo, valeu. :mrgreen:


GOSTEI 0
Dopi

Dopi

09/02/2004

Usando o o THintWindow funciona mas dá um pouco de trabalho, pois o todo controle de Exibir e Esconder o Hint tem que ser feito manualmente....

O Application possui um metodo:
Application.ActivateHint(CursorPos: TPoint);

que deveria mostrar o Hint do Controle sob o TPoint..... mas.... aparentemente ele não funciona.... pelo menos não fucnionou comigo noOnEnter do controle usando:

Application.ActivateHint( ActiveControl.ClientOrigin );


GOSTEI 0
Nildo

Nildo

09/02/2004

Esquecí-me de um detalhe: Para fehcar o hint, exeucta o método RELEASE dele, seguido de um FREE.

Um abraço!


GOSTEI 0
Clodoaldomonteiro

Clodoaldomonteiro

09/02/2004

Nildo!

Sou iniciante e não sei como fazer o q vc propos.
Tem como vc mostrar um exemplo?


GOSTEI 0
Eniorm

Eniorm

09/02/2004

vou ressucitar mais uma vez esse post aqui, pois achei interessante, e o mesmo continua aberto,

implementei tal como foi explicado mas o mesmo não funcionou, uso D2010

deu erro de access violation quando tentou executar o ActivateHint

ou alguém sabe se o Dephi 2010 já possui algum componente ou recurso nativo para fazer isso, algo elegante?

abraços
GOSTEI 0
Eniorm

Eniorm

09/02/2004

a violação de acesso eu achei, vi que TWindowHint precisa ser instanciado, rsrs

porém eu não sei como acertar as propriedades do Rect, e quando o programa roda, ou aparece o hint em tela cheia ou nem aparece
GOSTEI 0
Marco Salles

Marco Salles

09/02/2004

Enio , eu não sei se entendi direito  , mas o que vc esta querendo é mostrar o Hint qnd um controle recebe o foco???

se for isto , escrevi uma classe para cor

Muda a cor qnd recebe o foco , mas da para acresncetar tb para O hint


http://marcosalles.wordpress.com/2009/09/12/funcao-q-muda-a-cor-quando-muda-o-foco-p-toda-a-aplicacao/




    for I:=0 To 
Pred(Screen.ActiveForm.ComponentCount) do
        begin
           if 
Screen.ActiveForm.Components[I] is TStatusBar then
           
begin
             
TStatusBar(Screen.ActiveForm.Components[I]).Panels[0].Text:=
             
ActiveControl.Hint;


funciona sem problemas .. se te interresar e vc não consegui adaptar este codigo na classe > que esta no link acima eu posso
alterar para vc

ps) quero deixar um adendo que se trata de uma classe , e esta pode ser estendida por toda a Vcl , com reaporveitamento de codigo
e baixa aclopamento , o que garante a reustilização da mesma em vários projeto .Ok

GOSTEI 0
José

José

09/02/2004

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0
Jeverson Paula

Jeverson Paula

09/02/2004

Tem esse componente que faz isso:

JvBalloonHint1.ActivateHint(nomeDoComponente, 'Texto do hint');
GOSTEI 0
POSTAR