我正在使用Lazarus 0.9.30。
我在一个表单上有一个标准的TStringGrid
,希望当鼠标指针移动到列标题上时显示不同的提示。我使用以下代码来实现,但它只能部分工作,通常必须单击单元格才能更改提示,而我实际上希望在鼠标指针移动时就更改提示。我将所有提示存储在一个集合中,使用列索引作为键进行搜索。
有没有办法获得更平滑的提示显示?
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;
THintInfo.CursorPos
包含相对于THintInfo.CursorRect
的客户端坐标,而不是屏幕坐标。 - Remy Lebeau