Sto eseguendo Lazarus 0.9.30.Come si possono ottenere suggerimenti per le celle in un TStringGrid che appare più agevolmente?
Ho uno standard TStringGrid
su un modulo e voglio mostrare un suggerimento diverso mentre sposto il puntatore del mouse sul titolo di una colonna. Sto usando questo codice per fare questo e funziona in qualche modo, ma spesso devi fare clic sulla cella per far sì che il suggerimento cambi, quando in realtà voglio che cambi mentre il puntatore del mouse si sposta su di esso. Ho tutti gli hint memorizzati in una raccolta che cerco usando l'indice della colonna come chiave. C'è un modo per ottenere una visualizzazione più agevole dei suggerimenti?
procedure TTmMainForm.SgScoutLinkMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
R, C: Integer;
begin
R := 0;
C := 0;
SgScoutLink.MouseToCell(X, Y, C, R);
with SgScoutLink do
begin
if (R = 0) then
if ((C >= 3) and (C <= 20)) then
begin
SgScoutLink.Hint := FManager.ScoutLinkColumnTitles.stGetColumnTitleHint(C-3);
SgScoutLink.ShowHint:= True;
end; {if}
end; {with}
end;
I pensa che la chiamata a SgScoutLink.MouseToCell non funzionerà come previsto. Si aspetta le coordinate relative al controllo TGrid, ma quelle in CursorPos sono le coordinate dello schermo assolute. Quindi SgScoutLink.ScreenToClient dovrebbe essere chiamato prima. – dummzeuch
@dummzeuch 'THintInfo.CursorPos' contiene le coordinate relative del cliente all'interno di' THintInfo.CursorRect', non le coordinate dello schermo –