Самоучитель по Delphi 7 для профессионалов


Стандартные действия



Те, кто собирается пропустить этот раздел, считая, что в нем описаны очевидные вещи, сильно ошибаются. Как раз в применении стандартных действий разработчики Borland продвинулись очень сильно. Кто хочет в этом убедиться, может открыть пример WordPad, поставляемый с Delphi 7. Полнофункциональный текстовый редактор, построенный полностью на стандартных действиях, содержит всего две строчки кода.

Шаблоны и заготовки для типовых меню и кнопок появились еще в самой первой версии Delphi. Но в шестой версии действия действительно стали действиями. Это значит, что раньше заготовка содержала только подходящий заголовок. Теперь они содержат в себе все субкомпоненты, весь программный код и делают всю необходимую работу сами.

Возьмем, например, действие TFlieOpen. Оно уже содержит внутри компонент типа TOpenDialog, показывающий список открываемых файлов. Вместо ручного программирования процедуры задания имени файла теперь нужно написать обработчик события TFiieOpen.onAccept (если пользователь ввел в диалоге кнопку ОК) или OnCancel (если отказался от открытия файла). Вот так выглядит весь программный код приложения WordPad:

procedure TForml.FileOpenlAccept(Sender: TObject); 

begin

RichEditl.Lines.LoadFromFile

(FileOpenl.Dialog.FileName);

  end;

procedure TForml.FileSaveAslAccept(Sender: TObject);

begin

RichEditl.Lines.SaveToFile

(FileSaveAsl.Dialog.FileName);

  end;

Рис. 8.4. Окно выбора стандартных действий

С точки зрения программирования стандартное действие — это класс-потомок TCustomAction. Классы действий описаны в трех модулях: более распространенные в stdActns, менее — в ExtActns, действия с наборами данных содержатся в DBActns. Наконец, два действия, работающие со списками, — TStaticListAction И TVirtualLitAction — описаны в отдельном модуле ListActns.

Для выполнения ряда стандартных действий нужно определить понятие "цели" действия (Action Target). Под целью понимается компонент, в отношении которого будет совершаться данное действие. Так, операции редактирования могут выполняться, когда на форме активен текстовый элемент управления (TEdit, TMemo И Т. П.). У любого действия потомка TBasicAction) есть три метода:




Начало  Назад  Вперед



Книжный магазин