![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Hint в TStringGrid [D7, XP]
GanibalLector © (2010-07-06 14:01:00)Добрый день.
Задача: сделать подсказку при наведении мыши на заголовок "грида". Объясню, ячейка небольшая и надпись на заголовке вся не вмещается, поэтому там все сокращено. При наведении мыши я должен отобразить подсказку (полное имя ячейки грида и прочую информацию).
Скриншот: http://pics.livejournal.com/talla2k/pic/0002ts61
Подскажите, куда смотреть?
Спасибо!
MsGuns (2010-07-06 20:39:00) [1]>GanibalLector © (06.07.10 16:03) [5]
>Правда hint срабатывает раньше, чем нужно, но это мелочи. Найду и >исправлю. Еще раз спасибо.
Паси мышь
GanibalLector (2010-07-06 16:03:00) [2]2 Deltas ©
Спасибо.
Правда hint срабатывает раньше, чем нужно, но это мелочи. Найду и исправлю. Еще раз спасибо.
Deltas (2010-07-06 15:40:00) [3]А можно еще проще:
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
var
Col, Row: Integer;
NewHint: string;
begin
StringGrid1.MouseToCell(X, Y, Col, Row);
if (Col < 0) or (Row < 0) then
NewHint := ''
else
NewHint := Format('(%d, %d)', [Col, Row]);
if NewHint <> StringGrid1.Hint then
begin
StringGrid1.Hint := NewHint;
Application.ActivateHint(StringGrid1.ClientToScreen(Point(X, Y)));
end;
end;
Deltas (2010-07-06 15:20:00) [4]Да и вообще, можно обойтись классом THintWindow, обрабатывая TStringGrid.OnMouseMove(). И, когда курсор перемещается над нужной ячейкой, показывать подсказку.
Deltas (2010-07-06 15:16:00) [5]А можно немного поработать напильником и написать обработчик события Application.OnHint. В этом случае, полезным может оказаться класс THintWindow.
Игорь Шевченко (2010-07-06 14:26:00) [6]
> Подскажите, куда смотреть?
на torry.net