Hint em DBGrid

Delphi

04/09/2003

Boa tarde a todos!

Pessoal, gostaria de saber como posso fazer com que no hint de um DBGrid apareçam os valores das colunas daquela linha, por exemplo:

digamos que teremos um dbgrid com os seguintes valores:
Nome | Crachá
Angelo 75801
Pedro 75901

e assim por diante, agora ao passar o mouse por cima da primeira linha eu gostaria que no hint aparecesse assim:

Nome: Angelo; Crachá: 75801

ou ao colocar o ponteiro do mouse sobre a segunda linha aparecesse:

Nome: Pedro; Crachá: 75901

e assim por diante, tem como fazê-lo?

Valeu!

Angelo


Angelo

Angelo

Curtidas 0

Respostas

Angelo

Angelo

04/09/2003

Alguém sabe?


GOSTEI 0
Wbb

Wbb

04/09/2003

Angelo,

Para fazer da maneira que você quer acho que não vai ser possível. No evento OnMouseMove do DBGrid você até poderia criar algo, mas não fica bom.

Talvez fosse melhor no lugar de usar o Hint do próprio DBGrid, se você usasse um StatusBar para mostrar estas informações que deseja e, ai sim no evento OnMouseMove do DBGrid, fazer uma rotina para passar os valores para o StatusBar.

Até mais.
wbb


GOSTEI 0
Marcelo Saviski

Marcelo Saviski

04/09/2003

Tente isso, usei com ValueListEditor e StringGrid, com DBGrid não sei se funciona, testa ai


procedure TfrmProdutos.ValueListEditorMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
  ACol, ARow : integer;
begin
  ValueListEditor.MouseToCell(X,Y,ACol,ARow);
  if (ARow >= 0) and (ARow  < Quantidades.RowCount) then
   begin
   ValueListEditor.Hint := ValueListEditor.Cells[0,ARow];
   ValueListEditor.ShowHint := ValueListEditor.Canvas.TextWidth(ValueListEditor.Cells[0,ARow]) > 521;
  end
 else
  ValueListEditor.ShowHint := false;  
end;


isso só exibe o hint se o texto ultrapassar o tamanho da coluna, se não queiser isso, comente a seguinte linha: [color=green:0586dffa5f] ValueListEditor.ShowHint := ValueListEditor.Canvas.TextWidth(ValueListEditor.Cells[0,ARow]) > 521;[/color:0586dffa5f]


GOSTEI 0
POSTAR