C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Обработчик событий DBNavigator, Реакция на стандартные кнопки?
Gadzila
Отправлено: 01.08.2003, 13:51


Ученик-кочегар

Группа: Участник
Сообщений: 21



Как перехватить обработчик события нажатия кнопок в DBNavigator,
(+,-,v,........)
DrilLer
Отправлено: 01.08.2003, 14:12


Ученик-кочегар

Группа: Участник
Сообщений: 10



через события наверно wink.gif
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


Не зарегистрирован







Почему ?
Зделать вызов другого события
Я конешно не пробовал но теоретически smile.gif
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



Спасибо! biggrin.gif
Помогло.
Gadzila
Отправлено: 04.08.2003, 14:53


Ученик-кочегар

Группа: Участник
Сообщений: 21



Но есть один прикол:
если ставлю на nbPost — выполнить
InsMater->ApplyUpdates();
InsMater->CommitUpdates();
InsMater->Close();
InsMater->Open();
получаю сообщение
InsMater:Dataset not in edit or insert mode.
хотя запись успешно вставляется.
Если-же тоже выполняю по нажатию обычной кнопки — нет проблемм!

Вернуться в Работа с базами данных в C++Builder