Шаг 6.9 - Создание формы редактирования раздела классификатора.
В главном меню среды Delphi выберите пункт File -> New -> Other... На экран будет загружено окно выбора нового типа объекта, как на рисунке 3.5.1 (см. Урок 5 Шаг 5.1). Перейдите на закладку PLMCommander и создайте inherit форму на базе заготовки fmVLMDIChild. В инспекторе свойств настройте некоторые свойства вновь созданной формы следующим образом:
TForm.
Свойство |
Значение |
Комментарий |
BorderIcons |
[biSystemMenu] |
Отключить кнопки biMinimize и biMaximize |
Caption |
Редактировать раздел классификатора ОКП |
Заголовок окна |
Height |
168 |
Высота формы |
Icon |
... |
Установить иконку из файла LibOKP.ico из папки ..\Tutorial\Icon каталога установки библиотеки |
Name |
fmEditItemLibOKP |
Имя формы в модуле |
Width |
512 |
Ширина формы |
Не забудьте удалить вновь созданную форму из списка загружаемых форм при загрузке приложения (см. Урок 2 рис. 3.2.4). Установите на форму компоаненты TLabel (вкладка Standards) и TVLEdit (вкладка VisualLoodsman) так, как показано на рисунке 6.11.
Рис. 6.11.
Настройте свойства компонентов TVLEdit также, как на форме fmItemLibOKP (см. Шаг 6.6). В принципе указанные компоненты можно просто скопировать из формы fmItemLibOKP в форму fmEditItemLibOKP.
Шаг 6.10 - Настройка процедур окружения формы редактирования раздела классификатора.
Перейдите в модуль PCLibOKP (см. Урок 5), встаньте на форму fmLibOKP, дважды щелкните на компоненте am - TActionManager и в редакторе действий дважды щелните на действии OpLib - Изменить (см. рис. 6.12).
Рис. 6.12.
Будет создана процедура OpLibExecute. Включите в раздел implementation и в тело процедуры следующие строки:
uses PCItemLibOKP, PCEditItemLibOKP;
...
procedure TfmLibOKP.OpLibExecute(Sender: TObject);
begin
inherited;
Self.vltv.GetGlobalId;
// поместить в системный буфер идентификаторы и дополнительную информацию
// из компонента vltv - TVLTableView
TfmEditItemLibOKP.Create(Application);
// создать MDI форму и загрузить ее
end;
Далее создадим процедуру, вызываемую при двойном щелчке на таблице vltv - TVLTableView. Обычно принято, что при двойном щелчке на выделенной записи вызывается процедура ее редактирования. Встаньте на компонент vltv, в инспекторе свойств перейдите на закладку Events и создайте процедуру для события OnDblClick. Введите в теле процедуры vltvDblClick следующие строки:
procedure TfmLibOKP.vltvDblClick(Sender: TObject);
begin
inherited;
Self.puabPopup(Sender);
// проверка доступности пунктов меню
if Self.OpLib.Enabled then Self.OpLibExecute(Sender);
// если действие OpLib доступно загрузить соответствующую процедуру
end;
Скомпилируйте приложение и проверьте, как работает разработанный пункт меню. На этом данный урок закончим. Далее...