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

 
Руссофикация, стандарного сообщения
Лена
Отправлено: 21.09.2006, 10:38


Мастер участка

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



Пользуюсь стандартным навигатором для управления записями в гриде. При удалении записи появляется окно с английской надписью подтвердить удаление. Как ее руссофицировать?
AVC
Отправлено: 21.09.2006, 13:25


Ветеран

Группа: Модератор
Сообщений: 1583



Самое простое — написать своё и подцепить на соответствующее событие, а оригинальное запретить.

PS.
По моему личному мнению — навигатор годится только при написании разве что лабораторных работ. В реальной жизни лучше иметь что-то свое, родное, максимально отвечающее требованиям.
Лена
Отправлено: 21.09.2006, 14:08


Мастер участка

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



Запретила у навигатора окно потверждения удаления.
Написала свой код:
CODE

void __fastcall TDataModule2::ClientDataSetDoorsBeforeDelete(
TDataSet *DataSet)
{
if (Application->MessageBox("Удалить?", "Подтвердите удаление", MB_YESNO +
MB_ICONQUESTION) == IDYES) {
ClientDataSetDoors->ApplyUpdates(-1);
}
else {
ClientDataSetDoors->CancelUpdates();


}
}

а запись удаляется если нажать и NO и Yes Что не так? rolleyes.gif

Отредактировано Лена — 21.09.2006, 14:12
olegenty
Отправлено: 21.09.2006, 15:58


Ветеран

Группа: Модератор
Сообщений: 2412



да вроде всё не так. и событие не совсем то, и методы тоже. предпочитаю (поскольку экзотических наcледников TDataSet много) привязывать вопросы к контролу, а не к набору данных. а в контроле — к сочетанию клавишь/всплывающему меню, которые завязаны на Action
Лена
Отправлено: 21.09.2006, 17:01


Мастер участка

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



Оставила так:
CODE

void __fastcall TDataModule2::ClientDataSetKeyBeforeDelete(
     TDataSet *DataSet)
{

if (Application->MessageBox("Удалить?", "Подтвердите удаление", MB_YESNO +
   MB_ICONQUESTION) != IDYES) {
        Abort();
   }
}
//---------------------------------------------------------------------------

void __fastcall TDataModule2::ClientDataSetKeyAfterDelete(
     TDataSet *DataSet)
{
  ClientDataSetKey->ApplyUpdates(-1);
}
Admin
Отправлено: 21.09.2006, 18:44


Владимир

Группа: Администратор
Сообщений: 1190



http://cbuilder.ru/forums/index.php?act=ST&f=4&t=224

Самый последний вариант.
Лена
Отправлено: 21.09.2006, 20:43


Мастер участка

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



QUOTE (Admin @ 21.09.2006, 18:44)
http://cbuilder.ru/forums/index.php?act=ST&f=4&t=224

Самый последний вариант.

Спасибо! victory.gif

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