Field: TField; State: TGridDrawState);
var
RowHeight: Integer;
begin
if gdFocused in State then
begin
RowHeight := Rect.Bottom - Rect.Top;
Row := (Rect.Top div RowHeight) - 1;
Col := Field.Index;
end;
end;
11. Как выделить цветом текущую строку в TDBGrid?
Для
12. Как изменить цвет ячейки в TDBGrid?
Введите следующий код в обработчике события
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if gdFocused in State then
with (Sender as TDBGrid).Canvas do
begin
Brush.Color := clRed;
FillRect(Rect);
TextOut(Rect.Left, Rect.Top, Field.AsString);
end;
end;
Установите свойство
13. Как узнать, что пользователь перешел на другую запись, например, в TDBGrid?
Переход на новую запись — это событие, которое относится не к визуальному компоненту, а к источнику данных. Соответствующее событие называется
14. Как устанавливать собственный цвет или шрифт для столбца TDBGrid?
Выключите property
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if Field.FieldName = 'Name' then DBGrid1.Canvas.Font.Style := [fsBold];
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;
Это приведет к тому, что содержимое столбца
В Delphi 2.0 вы можете использовать редактор столбцов для той же самой цели.
15. Почему указатель ползунка в TDBGrid не показывает текущее положение в таблице?
Дело в том, что
Конечно, в однопользовательском варианте количество записей всегда известно, но поскольку
По всем этим причинам
16. Как установить фокус на определенное поле в TDBGrid?
Используйте код:
DBGrid1.SelectedField := Table1SomeField;
DBGrid1.SetFocus;
17. Как создать обработчик события OnClick для TDBGrid?
Как и всякий
18. Как создать маску для TDBEdit?
Маска относится к полю в таблице (компонент