Прежде, чем углубиться дальше в лес Delphi и не только, я бы хотел оживить некоторые пункты меню проекта "Расходы".
Шаг 1. Пункт меню "О программе"
Когда-то, в уроке №13, я рассказал о том, как сделать компонент "О программе". Вам придется его немного подправить :-) и разместить на форме MainFrm, а затем назначить соответствующему пункту меню вот такой простой обработчик:
procedure TMainFrm.N_AboutClick(Sender: TObject);
begin
PrDAboutBoxDlg1.Execute;
end;
Наделите компонент следующими свойствами:
Щаг 2. Никто не обратил внимания, что кнопка Cancel (PrDCancelButton1) на верхней панельке осталась без обработчика. Добавьте обработку действий, когда пользователь ничего не ввел в поля новой записи или передумал добавлять новую запись:
procedure TMainFrm.PrDCancelButton1Click(Sender: TObject);
begin
// Отказ от редактирования
ADOTableMain.Cancel;
DBGridEh1.Enabled:=True; // Переключение грида в режим доступности
Panel3.Visible:=False; // Скрытие верней панели
end;
Шаг 3. Новый Action Data_Insert, обрабатывающий процесс добавления новой записи, необходимо добавить в список ActionList и подложить его под соответствующие пункты главного меню и PopupMenu:
Обработчик события выполнения экшена:
procedure TMainFrm.Data_InsertExecute(Sender: TObject);
begin
// Новая запись
ADOTableMain.Insert;
end;
Внимание! Не забыть вернуться к процедуре:
procedure TMainFrm.Data_SelectMOExecute(Sender: TObject); // Соответствует N_EditClick
begin
...
// Сделать доступным именно Action, а пункты меню станут доступными автоматически
Data_Insert.Enabled:=True;
Шаг 4. Выбор базы данных
Добавьте Action в категорию Service
Создайте обработчик Action:
procedure TMainFrm.Service_Select_DiskExecute(Sender: TObject);
begin
// Выбор диска с базой данных
SetDisk;
MainConnecting;
TableActive(True);
// Инфо на статусбаре
StatusBarUpdate;
end;
Установите соответствие пункта меню и нового действия.
Данный пункт меню позволит Вам выбрать для просмотра и работы другую базу данных (например, по прошествии года, после архивации базы данных, сохранения ее в другом каталоге).
На этом пока все.
В следующем уроке я предполагаю показать как "перевести" интерфейс программы на другой язык.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.