Работа в коде с кнопками DBNavigator



Познакомились в Интернете парень и девушка, подружились по переписке. Решили встретиться. Договорились о месте и времени. Он спрашивает:
- А как я тебя узнаю?
- Я буду во всем салатовом.
Парень пришел на место и издали, на всякий случай, высматривает девушку в салатовом платье. Вдруг видит: барышня в салатовом, весом килограммов 150. На другой день общаются в Чате. Она:
- Ну что же ты не пришел?
- Я пришел, но не подошел.
- Почему?
- А я подумал, что на твой салат у меня майонеза не хватит.

Я думаю вам поможет следующий пример (взят из электронной справки по DELPHI), показывающий код нажатой кнопки. Я видел пару вопросов о том, как изменять кнопки навигатора в зависимости от состояния редактируемой вами записи. Если вам необходимо подтверждение действий пользователя, то необходимо каким-то образом организовать дополнительный перехватчик. Как это сделать, я, честно говоря, еще не думал.

Прежде, чем вы сделаете любой постинг или изменение данных, убедитесь, что таблица находится в режиме редактирования. Посмотрите описание свойства state в электронной справке по DELPHI. Там подробно рассказано как работать с ним.

Следующий код определяет нажатую кнопку навигатора и выводит сообщение с ее именем.


procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
var
BtnName: string;
begin
case Button of
nbFirst  : BtnName := 'nbFirst';
nbPrior  : BtnName := 'nbPrior';
nbNext   : BtnName := 'nbNext';
nbLast   : BtnName := 'nbLast';
nbInsert : BtnName := 'nbInsert';
nbDelete : BtnName := 'nbDelete';
nbEdit   : BtnName := 'nbEdit';
nbPost   : BtnName := 'nbPost';
nbCancel : BtnName := 'nbCancel';
nbRefresh: BtnName := 'nbRefresh';
end;
MessageDlg('Была нажата кнопка' + BtnName, mtInformation, [mbOK], 0);
end;


Далее: Свойства кнопок DBNavigator »»