Hi,
ich versuche gerade, einen Hint anzuzeigen, sofern sich der Mauszeiger in der Überschriftenzeile eines Stringgrids befindet. Es geht darum, eventuell nach einer Spalte zu sortieren.
Delphi-Quellcode:
procedure Tfrm.ShowCellHint(X,Y:Integer);
var
ACol, ARow : Integer;
begin
if sgArtNr.ShowHint = False then
sgArtNr.ShowHint := True;
sgArtNr.MouseToCell(X, Y, ACol, ARow);
if (ARow = 0) then // Zeile mit Überschriften
sgArtNr.Hint:='für Sortierung nach '+ sgArtNr.Cells [ACol,0] +' doppelklicken';
end;
procedure Tfrm.sgArtNrMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
ShowCellHint(X,Y);
end;
Jetzt sind aber folgende Effekte zu bemerken : Der Hint kommt sehr spät und ist zu schnell wieder weg. Außerdem habe ich den Eindruck, daß er manchmal erst angezeigt wird, wenn die Zelle angeklickt wird. Ist das MouseMove etwa das falsche ? Es handelt sich hierbei vorerst um angepaßten code von dem hier :
http://www.swissdelphicenter.ch/de/showcode.php?id=1798