Главная форма проекта DemoBookmark
Рисунок 14.4. Главная форма проекта DemoBookmark
Листинг 14.2. Пример использования закладок .
implementation
{$R *.DFM}
var SaveRecPos: TBookMark;
procedure TMainForm.FormShow(Sender: TObject);
begin
try
Cust.Open;
BookmarkControl.Brush.Color := clBtnFace;
except
ShowMessage('Ошибка открытия набора данных');
end;
end;
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Cust.Close;
end;
procedure TMainForm.StartBookmarkClick(Sender: TObject);
begin
if Not Cust.BookmarkValid(SaveRecPos)
then SaveRecPos := Cust.GetBookmark;
BookmarkControl.Brush.Color := cILime
end;
procedure TMainForm.StopBookmarkClick(Sender: TObject);
begin
with Cust do begin if Not BookmarkValid(SaveRecPos)
then Exit;
GotoBookmark(SaveRecPos);
FreeBookmark(SaveRecPos);
SaveRecPos := Nil;
end;
BookmarkControl.Brush.Color := clBtnFace;
end;
end.
Использование метода Bookmarkvaiid позволяет корректно переопределять закладку, если она уже установлена, и избежать ошибок при произвольных нажатиях кнопок. Компонент BookmarkControl типа TShape сигнализирует о том, что закладка установлена или удалена.
Примечание
Примечание
Закладки также используются в компоненте TDBGrid. Он имеет свойство SelectedRows типа TBookmarkList, которое представляет собой список закладок, указывающих на одновременно выделенные записи.