Gadzila |
Отправлено: 01.08.2003, 13:51 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 21
|
Как перехватить обработчик события нажатия кнопок в DBNavigator,
(+,-,v,........) |
|
DrilLer |
Отправлено: 01.08.2003, 14:12 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
через события наверно |
|
Admin |
Отправлено: 01.08.2003, 17:47 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
CODE |
void __fastcall TForm1::DBNavigator1BeforeAction(TObject *Sender,
TNavigateBtn Button)
{
if(Button == nbFirst) ShowMessage("nbFirst");
if(Button == nbPrior) ShowMessage("nbPrior");
if(Button == nbNext) ShowMessage("nbNext");
// ...
} |
А вот отказаться от выполнения действия хрен здесь дадут !
См.тему
Как русифицировать MessageBox ?
Отредактировано Admin — 01/08/2003, 18:54
|
|
Guest |
Отправлено: 01.08.2003, 20:37 |
|
Не зарегистрирован
|
Почему ?
Зделать вызов другого события
Я конешно не пробовал но теоретически |
|
Admin |
Отправлено: 04.08.2003, 09:13 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Ставите ConfirmDelete = false
void __fastcall TForm1::DBNavigator1BeforeAction(TObject *Sender,
TNavigateBtn Button)
{
if(Button == nbDelete && Application->MessageBox("Удалить запись ?",
"Подтвердите удаление", MB_YESNO)!= IDYES)
Abort();
}
//---------------------------------------------------------------------------
и так далее...
if(Button == nbInsert) ...
if(Button == nbPost) ...
|
|
Gadzila |
Отправлено: 04.08.2003, 13:12 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 21
|
Спасибо!
Помогло. |
|
Gadzila |
Отправлено: 04.08.2003, 14:53 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 21
|
Но есть один прикол:
если ставлю на nbPost — выполнить
InsMater->ApplyUpdates();
InsMater->CommitUpdates();
InsMater->Close();
InsMater->Open();
получаю сообщение
InsMater:Dataset not in edit or insert mode.
хотя запись успешно вставляется.
Если-же тоже выполняю по нажатию обычной кнопки — нет проблемм! |
|