Visual Basic |
---|
Public Event FormBeforeClose( _ ByVal pForm As TDMSInputForm, _ ByVal pObject As TDMSObject, _ ByRef bCancel As Boolean _ ) |
- pForm
- Форма ввода, которая будет закрыта.
- pObject
- Объект, которому принадлежит форма ввода. Параметр может иметь значение Nothing в случае, если форма была открыта программно (напр., методом TDMSInputForm.Show Метод), а не в окне свойств объекта.
- bCancel
- TRUE - отменить закрытие формы.
1. Событие является отменяемым: если параметру bCancel присвоено значение TRUE, закрытие формы ввода не произойдет.
2. Поскольку форму ввода нельзя закрыть программно, обработчик будет вызван только при переключении на закладку другой формы или закрытии Окна свойств объекта, а также при переключении фокуса на другой объект в Дереве объектов (если форма была показана на Панели свойств в главном окне приложения).
3. Обработчик может быть размещен в скриптах формы ввода, профиля и/или общесистемном. Если обработчики определены на всех уровнях, то последовательность их вызова такова:
- скрипт формы ввода;
- скрипт профиля пользователя;
- общесистемный скрипт.
Если на каком-либо уровне событие было отменено (параметру bCancel присвоено значение TRUE), то обработчики события, размещенные на последующих уровнях, вызваны не будут.
4. Схему последовательности генерации событий при редактировании атрибутов объекта в окне свойств см. на рисунке:
VB Script (Visual Basic) | ![]() |
---|---|
'====================================================================== 'Текст обработчика может быть размещен в скрипте формы, профиля или 'общесистемном скрипте. Sub Form_BeforeClose(Form, Obj, Cancel) 'Запросить подтверждение закрытия формы msg = "Вы действительно хотите закрыть форму """ & Form.Description & """?" If ((MsgBox(msg, vbYesNo + vbQuestion, "Подтверждение закрытия")) <> VbYes) Then Cancel = True End If End Sub '====================================================================== |