Beleza agora entendi direito o que você quer, você quer monstrar o hint 
mesmo se o campo não for de senha.

Bom, pra você fazer isso você terá que utilizar o canvas para desenhar o 
hint "na unha".

Faça o seguinte:

Crie uma variável publica para controlar o estado do hint:

meu_hint:THintWindow;

Agora coloque no seu forme a seguinte função para ativar o hint:

function TForm1.RevealHint (Control: TControl): THintWindow;
var
    ShortHint: string;
    AShortHint: array[0..255] of Char;
    HintPos: TPoint;
    HintBox: TRect;
begin
    Result := THintWindow.Create(Control);
    ShortHint := GetShortHint(Control.Hint);
    HintPos := Control.ClientOrigin;
    Inc(HintPos.Y, Control.Height + 6);
    HintBox := Bounds(0, 0, Screen.Width, 0);
    DrawText(Result.Canvas.Handle,
    StrPCopy(AShortHint, ShortHint), -1, HintBox,
    DT_CALCRECT or DT_LEFT or DT_WORDBREAK or DT_NOPREFIX);
    OffsetRect(HintBox, HintPos.X, HintPos.Y);
    Inc(HintBox.Right, 6);
    Inc(HintBox.Bottom, 2);
    Result.ActivateHint(HintBox, ShortHint);
end;

Coleque a seguinte procedure para desativar o hint:

procedure TForm1.RemoveHint (var Hint: THintWindow);
begin
    Hint.ReleaseHandle;
    Hint.Free;
    Hint := nil;
end;

Para ativar o hint utilize:

meu_hint:=RevealHint(edit1);// Troque o edit1 pelo nome do componente que 
voce queira que apareça o hint


Para desativar o hint utilize:


 RemoveHint(meu_hint)

Espera ter ajudado

[]´s
ARP


----- Original Message ----- 
From: "Nagual" <[EMAIL PROTECTED]>
To: <delphi-br@yahoogrupos.com.br>
Sent: Thursday, June 30, 2005 12:41 PM
Subject: Re: RES: [delphi-br] Ativar um hint pelo código


> Sim, mas eu gostaria que aparecesse o Hint quando o sujeito está
> digitando, daí eu colocaria isso no OnChange, ou OnKeyPress. E não
> somente quando o mouse é passado por cima...
>
> Valews... 



        
        
                
_______________________________________________________ 
Yahoo! Acesso Grátis - Internet rápida e grátis. 
Instale o discador agora! http://br.acesso.yahoo.com/


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a