Hint na celula do string grid quando o cursor passar

Delphi

20/09/2005

Pessoal,

Tenho um form onde não posso aumentá-lo dai gostaria de implementar a coluna para quando eu passar o cursor sobre a mesma ela trazer o conteudo da coluna dentro do hint. Alguem já fez isso?


Jonasaf

Jonasaf

Curtidas 0

Respostas

Michael

Michael

20/09/2005

Olá colega!

A classe [b:df3e38f58e]TCustomDrawGrid [/b:df3e38f58e](da qual TStringGrid é derivada) provê o método [b:df3e38f58e]MouseToCell[/b:df3e38f58e], que tem a função de retorna a linha e a coluna sob o cursor do mouse. Veja sua declaração:

procedure MouseToCell(X: Integer, Y: Integer, var ACol: Integer, var ARow: Integer);


[b:df3e38f58e]X[/b:df3e38f58e] e [b:df3e38f58e]Y[/b:df3e38f58e] são as coordenadas da tela, e [b:df3e38f58e]ACol[/b:df3e38f58e] e [b:df3e38f58e]ARow[/b:df3e38f58e] as variáveis que irão receber os valores da coluna e linha, respectivamente.

Vc pode chamar este método de dentro do evento [b:df3e38f58e]OnMouseMove [/b:df3e38f58e]da StringGrid, pois ele recebe como parâmetros os mesmos [i:df3e38f58e]X[/i:df3e38f58e] e [i:df3e38f58e]Y[/i:df3e38f58e] necessários ao método.

Sabendo a linha e a coluna sob o mouse, basta vc alterar o [b:df3e38f58e]Hint[/b:df3e38f58e] da StringGrid com o conteúdo da célula, e então setar a propriedade [b:df3e38f58e]ShowHint[/b:df3e38f58e] para [i:df3e38f58e]false[/i:df3e38f58e], e em seguida para [i:df3e38f58e]true[/i:df3e38f58e]. Isso forçará o hint a ser exibido.

[]´s


GOSTEI 0
POSTAR