Fórum Hint na celula do string grid quando o cursor passar #296150
20/09/2005
0
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?
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
Curtir tópico
+ 0
Responder
Posts
20/09/2005
Michael
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:
[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
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)