Registro selecionado no DBGrid mostar hint...

Delphi

05/06/2009

Olá,

Estou desenvolvendo um sistema e estou querendo fazer a seguinte implementação: na tela de consulta de clientes, se o cliente estiver bloqueado, a linha aparece com uma determinada cor (até ai tudo bem). O que eu quero fazer é ao se posicionar nesse registro, aparecesse tipo um hint, mostrando o motivo do bloqueio e a data. Alguém já fez algo parecido, ou que poderia me auxiliar ou informar uma maneira melhor de exibir essas informações? Pensei no hint, para não colocar mais um componente no formulário (já que não vão ser muitos que estarão bloqueados comparado com os cadastrados) e o mesmo não ficar um tanto ´poluído´.


Até mais.


Iniciante2007

Iniciante2007

Curtidas 0

Respostas

Woinch

Woinch

05/06/2009

Não sei se um hint é a melhor opção, porque posso estar enganado mas um hint não é exibido em componentes que estão desabilitados. Pode ser criado um panel e alterar as propriedades Left e Top dele de acordo com as propriedades X e Y do cursor do mouse. Você pode pegar essas propriedades através da função GetCursorPos (dê uma pesquisada em como utilizar essa função). Para mostrar esse evento somente em determinada linha, coluna ou célula você poderá utilizar esse exemplo que montei como base:

[codeprocedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
pt: TPoint;
begin
GetCursorPos(pt);
pt := DBGrid1.ScreenToClient(pt);
ShowMessage(´Linha ´ + IntToStr(DBGrid1.MouseCoord(pt.X, pt.Y).X) +
´; Coluna ´ + IntToStr(DBGrid1.MouseCoord(pt.X, pt.Y).Y));
end;[/code]

Espero ter ajudado.


GOSTEI 0
Woinch

Woinch

05/06/2009

procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  pt: TPoint;
begin
  GetCursorPos(pt);
  pt := DBGrid1.ScreenToClient(pt);
  ShowMessage(´Linha ´ + IntToStr(DBGrid1.MouseCoord(pt.X, pt.Y).X) +
              ´; Coluna ´ + IntToStr(DBGrid1.MouseCoord(pt.X, pt.Y).Y));
end;



GOSTEI 0
Iniciante2007

Iniciante2007

05/06/2009

Beleza era isso mesmo que eu queria.
Obrigado


GOSTEI 0
POSTAR