type
THackDBNav = class(TDBNavigator);
procedure TForm1.DBNavigatorAppendClick(Sender: TObject);
var
DBNav: THackDBNav;
begin
DBNav := THackDBNav(TControl(Sender).Parent);
if Assigned(DBNav.DataSource) and (DBNav.DataSource.State <> dsInactive) then begin
if Assigned(DBNav.BeforeAction) then
DBNav.BeforeAction(DBNav, nbInsert);
if CheckBox1.Checked then
DBNav.DataSource.DataSet.Append
else
DBNav.DataSource.DataSet.Insert;
if Assigned(DBNav.OnClick) then
DBNav.OnClick(DBNav, nbInsert);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
THackDBNav(DBNavigator1).Buttons[nbInsert].OnClick := @DBNavigatorAppendClick;
end;