В потомке компонента StringGrid я хочу изменить всплывающее сообщение подсказки в зависимости от значения ячейки. Моя кодировка:
procedure TForm.GridMouseEnterCell(Sender: TObject; ACol, ARow: Integer);
var k: integer;
begin
k := strtointdef(Grid.Cells[13, ARow],-1);
Grid.ShowHint := (ACol = 12) and (k >= 0);
if Grid.ShowHint then
Grid.Hint := MyLIst.Items[k];
end;
Это отлично работает, когда я навожу указатель мыши на столбец 12 из другого столбца, но если остаться в столбце 12 и перейти к другой строке (с другим значением k), всплывающая подсказка не изменится. Он покажет правильную/новую подсказку только тогда, когда я сначала наведу указатель мыши на другой столбец, а затем вернусь к столбцу 12. У кого-нибудь есть решение?
Grid.ShowHint := (ACol = 12) and (k >= 0) and (Grid.Hint <> MyLIst.Items[k]);
повторно запустить показ подсказки. - person bummi   schedule 10.06.2013