Шаг 4.4 - Установка на форму управляющих кнопок.
Установите на форму две кнопки ( - TBitBtn), как показано на рисунке 4.2 и настройте в инспекторе свойств некоторые свойства указанных кнопок следующим образом:
TBitBtn.
Свойство |
Значение |
Комментарий |
Anchors |
[akLeft,akBottom] |
Установить привязку к левому и нижнему краю формы. |
Caption |
Сохранить |
Надпись на кнопке, нажатие кнопки будет означать сохранение измененных атрибутов и закрытие окна. |
Enable |
False |
Закроем доступ к данной кнопке по умолчанию, в библиотеке разработан метод открытия доступа к данной кнопке при внесении изменений в компоненты, которые содержат атрибуты объектов базы данных. |
Hint |
Сохранить изменения |
Контекстная подсказка. |
Kind |
bkOK |
Системный вид кнопки - OK. |
Name |
bbtOk |
Имя компонента в приложении. |
ShowHint |
True |
Включить показ контекстной подсказки. |
Width |
98 |
Ширина кнопки (можно настроить по Вашему усмотрению. |
TBitBtn.
Свойство |
Значение |
Комментарий |
Anchors |
[akRight,akBottom] |
Установить привязку к правому и нижнему краю формы. |
Caption |
Закрыть |
Надпись на кнопке, нажатие кнопки будет означать простое закрытие окна. |
Enable |
True |
Оставить по умолчанию. |
Hint |
Закрыть окно без сохранения изменений |
Контекстная подсказка. |
Kind |
bkCancel |
Системный вид кнопки - Cancel. |
Name |
bbtCancel |
Имя компонента в приложении. |
ShowHint |
True |
Включить показ контекстной подсказки. |
Width |
98 |
Ширина кнопки (можно настроить по Вашему усмотрению. |
Шаг 4.5 - Создание процедур для кнопок.
Дважды щелкните левой кнопкой мыши на кнопке bbtCancel, будет создана процедура bbtCancelClick. Введите в теле процедуры следующие строки:
procedure TfmVLMDIChild.bbtCancelClick(Sender: TObject);
begin
inherited;
// процедура компонента-родителя
Self.Close;
// закрыть окно
end;
Дважды щелкните левой кнопкой мыши на кнопке bbtOk, будет создана процедура bbtOkClick. Введите в теле процедуры следующие строчки:
procedure TfmVLMDIChild.bbtOkClick(Sender: TObject);
begin
inherited;
// процедура компонента-родителя
Self.vlom.SaveBDAttributes;
// сохранить изменения в компонентах, установленных на форме
Self.Close;
// закрыть окно
end;
Учитывая, что кнопка bbtOk по умолчанию недоступна, при использовании специального механизма, при котором кнопка будет открываться при редактировании какого-либо атрибута в компонентах, установленных на форме, случайное нажатие на данную кнопку исключается.
Шаг 4.6 - Описание функции вызова созданной формы.
Далее перейдем на главную форму приложения. Загрузим редактор компонента am - менеджера действий (TActionManager см. рис. 2.2), дважды щелкните левой кнопкой мыши на действии LibOKP (Классификатор ОКП). Изменим содержимое раздела implementation и тела указанной процедуры, как указано ниже:
implementation
uses VLDefinition, hh, hh_funcs, PCMDIChild, PCVLMDIChild;
...
procedure TPLMCom.LibOKPExecute(Sender: TObject);
begin
CurBDId:=Self.vlrvl.GetIntegerData('InPlant');
// поместить в системный буфер идентификатор,
// взятый из списка системных переменных под наименованием InPlant
CurBDDCOM:=Self.DCOM;
// поместить в системный буфер указатель на DCOM-соединение
TfmVLMDIChild.Create(Application);
// создать форму
end;
Скомпилируйте проект, загрузите приложение и проверьте пункт главного меню "Классификатор ОКП". На экран должна загрузиться форма, как показано на рисунке 4.2.
Рис. 4.2
Обратите внимание на заполнение статусной строки, статусная строка содержит пять системных панелей (описание см. TVLStatusBar). Такой вид панели говорит о том, что подключение к объекту базы данных системы ЛОЦМАН:PLM произошло корректно.
На этом данный урок закончим. Продолжение...