Есть ли способ захватить название названия с перемещением мыши над заголовком Dbgrids?Мышь над названием dbgrid
Идея заключается в том, чтобы заголовок отображался только при перемещении курсора по полю заголовка.
Tnx заранее.
Есть ли способ захватить название названия с перемещением мыши над заголовком Dbgrids?Мышь над названием dbgrid
Идея заключается в том, чтобы заголовок отображался только при перемещении курсора по полю заголовка.
Tnx заранее.
В приведенном ниже коде показано, как получить «заголовок» столбца сетки, указатель мыши закончился.
Фактически, то, что отображается в заголовке столбца столбца TDBGrid, является свойством Caption
объекта Title
этого столбца, который имеет и другие свойства. Приведенный ниже код читает и отображает свойство Caption
объекта Title
.
Как вы можете видеть из интерактивной справки, объекты TColumn, которые являются столбцами сетки, также имеют Field
и FieldName
свойства, которые вы можете прочитать при необходимости.
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y:
Integer);
var
Col,
Row : Integer;
begin
Col := DBGrid1.MouseCoord(X, Y).X;
Row := DBGrid1.MouseCoord(X, Y).Y;
Caption := Format('Col: %d, Row:%d', [Col, Row]);
if (Col > 0) and (Col <= DBGrid1.Columns.Count) then
Caption := Caption + DBGrid1.Columns[Col - 1].Title.Caption;
end;
Чтобы ответить на вопрос, что вам нужно знать здесь
1: Какие клетки мыши находится над (и, следовательно, является ли он над заглавной Cell)
и
2: имя поля (название).
Оба эти варианта возможны, но не уверены, как вы будете использовать эту информацию, чтобы сделать имя названия видимым.
1: предназначен для захвата события OnMouseMove и использования свойства MouseCoord.
2: использовать результирующее значение столбца (если значение Row равно 0) и свойство Fields [ACol] .FieldName.
Но, возможно, более прямой путь к достижению того, что вы хотите, - установить dgTitleHotTrack в параметрах и установить стиль hottrack (который, вероятно, должен был быть обычным).
Не уверен, как это отвечает на вопрос. Кажется более длинным комментарием для меня. –
Это сделало трюк. Спасибо за помощь. – Ledzouz