Buscar

Hint para cada item de um treeview

Código

Public
   lastHintNode : TTreeNode;

{
No everton MouseMove do TreeView coloque o código abaixo:
}

procedure TForm1.TreeView1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
   tree: TTreeView;
   hoverNode: TTreeNode;
   hitTest : THitTests;
begin
   if (Sender is TTreeView) then
      tree := TTreeView(Sender)
   else
      Exit;

   hoverNode := tree.GetNodeAt(X, Y) ;
   hitTest := tree.GetHitTestInfoAt(X, Y) ;

   if (lastHintNode <> hoverNode) then
   begin
      Application.CancelHint;

      if (hitTest <= [htOnItem, htOnIcon, htOnLabel, htOnStateIcon]) then
      begin
         lastHintNode := hoverNode;
         tree.Hint := NodeHint(hoverNode);
      end;
   end;
end;

{
Função que apresenta o Texto do Hint, caso você queira colocar algo a mais fique a vontade, se quiser até colocar mais parêmetros para validar o que vai escrito fica bem legal.
}

function TForm1.NodeHint(tn: TTreeNode): string;
begin
   Result := 'O Texto é: ' + tn.Text;
end;

{
Obs.: Lembre de colocar a propriedade ShowHint do TreeView com True.
}

Publicidade

Vote na dica




Quantidade de votos: 1 voto
Aceitação: 20%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 04/07/08
Por: Fábio Romão De Oliveira
Visualizada: 6552 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009