Шаг 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.
![](Images/Image 4_2.JPG)
Рис. 4.2
Обратите внимание на заполнение статусной строки, статусная строка содержит пять системных панелей (описание см. TVLStatusBar). Такой вид панели говорит о том, что подключение к объекту базы данных системы ЛОЦМАН:PLM произошло корректно.
На этом данный урок закончим. Продолжение...