Mostrar hint quando o componente receber o foco
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
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
Curtidas 0
Respostas
Fabio.hc
09/02/2004
Para mostrar o hint em varias linhas:
Obs. Não esquecer de mudar para TRUE o evento ShowHint
Edit1.hint := ´Primeira Linha´+#13+´Segunda Linha´+13+ ´Terceira Linha´+13+´Quarta Linha´;
GOSTEI 0
Flaviosan
09/02/2004
Para mostrar o hint em varias linhas:
Obs. Não esquecer de mudar para TRUE o evento ShowHint
Edit1.hint := ´Primeira Linha´+#13+´Segunda Linha´+13+ ´Terceira Linha´+13+´Quarta Linha´;
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
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.
Agradeço antecipadamente.
GOSTEI 0
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
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
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
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
09/02/2004
Matou a pau nildo, valeu. :mrgreen:
GOSTEI 0
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 );
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
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!
Um abraço!
GOSTEI 0
Clodoaldomonteiro
09/02/2004
Nildo!
Sou iniciante e não sei como fazer o q vc propos.
Tem como vc mostrar um exemplo?
Sou iniciante e não sei como fazer o q vc propos.
Tem como vc mostrar um exemplo?
GOSTEI 0
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
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
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
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
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/
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
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é
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
09/02/2004
Tem esse componente que faz isso:
JvBalloonHint1.ActivateHint(nomeDoComponente, 'Texto do hint');
GOSTEI 0