TabObjectChangeEventArgs.CreateObjectChangeArgs

Синтаксис Fore

CreateObjectChangeArgs(TabSheet: ITabSheetBox;
                       Object: ITabObject;
                       Type: TabObjectChangeType);

Синтаксис Fore.NET

CreateObjectChangeArgs(TabSheet: Prognoz.Platform.Interop.Tab.TabSheetBox;
                       Object: Prognoz.Platform.Interop.Tab.ITabObject;
                       Type: Prognoz.Platform.Interop.Tab.TabObjectChangeType);

Параметры

TabSheet. Компонент, для которого генерируется событие;

Object. Объект, для которого генерируется событие;

Type. Тип изменения, которое происходит с объектом.

Описание

Конструктор CreateObjectChangeArgs создаёт аргумент события, возникающего при изменении объекта.

Комментарии

По умолчанию аргументы события генерируются автоматически при наступлении события. Конструктор требуется для вызова события вручную. Подробнее о ручной генерации событий вы можете узнать в разделе «Генерация событий вручную».

Пример Fore

Для выполнения примера предполагается наличие формы, содержащей компоненты:

  1. TabSheetBox с идентификатором «TabSheetBox1». Для данного компонента должен быть назначен обработчик события OnAfterObjectChange.

  2. UiReport с идентификатором «UiReport1», являющийся источником данных для «TabSheetBox1». Также «UiReport1» должен быть активен и содержать загруженный регламентный отчет с фигурами на активном листе.

Sub UserProc;
Var
    Tab: ITabSheet;
    Object: ITabObject;
    Argument: TabObjectChangeEventArgs;
Begin
    Tab := TabSheetBox1.Source.GetTabSheet;
    Object := Tab.Objects.Item(0);
    Argument := New TabObjectChangeEventArgs.CreateObjectChangeArgs(TabSheetBox1, Object, TabObjectChangeType.Angle);
    TabSheetBox1.OnAfterObjectChange(TabSheetBox1, Argument);
End Sub UserProc;

В результате выполнения процедура вызовет событие OnAfterObjectChange в компоненте «TabSheetBox1».

Пример Fore.NET

Для выполнения примера предполагается наличие формы, содержащей компоненты:

  1. TabSheetBoxNet с идентификатором «tabSheetBoxNet1».

  2. UiReportNet с идентификатором «uiReportNet1», являющийся источником данных для «tabSheetBoxNet1». Также «uiReportNet1» должен быть активен и содержать загруженный регламентный отчет с фигурами на активном листе.

Для события Shown для формы должен быть назначен обработчик TABOBJECTCHANGEEVENTARGS_CREATEOBJECTCHANGEARGS_FORMForm_Shown.

В примере будет создан и вызван пользовательский обработчик для события OnAfterObjectChange в компоненте «tabSheetBoxNet1».

Imports Prognoz.Platform.Interop.Tab;

// Пользовательский обработчик события OnAfterObjectChange
Public Sub UserOnAfterObjectChange(Sender: Object; Args: TabObjectChangeEventArgs);
Begin
    Select Case Args.Type
    Case TabObjectChangeType.toctAngle:
        System.Diagnostics.Debug.WriteLine("Объект '" + Args.Object.Id + "' повернули");
    Case TabObjectChangeType.toctRect:
        System.Diagnostics.Debug.WriteLine("Объект '" + Args.Object.Id + "' переместили или изменили его размер");
    End Select;
End Sub UserOnAfterObjectChange;

// Назначаем событию OnAfterObjectChange пользовательский обработчик UserOnAfterObjectChange
Private Sub TABOBJECTCHANGEEVENTARGS_CREATEOBJECTCHANGEARGS_FORMForm_Shown(sender: System.Object; e: System.EventArgs);
Begin
    tabSheetBoxNet1.OnAfterObjectChange += New Prognoz.Platform.Forms.Net.TabSheetBoxNet.OnAfterObjectChangeEventHandler(UserOnAfterObjectChange);
End Sub;
    
// Вызываем пользовательский обработчик события OnAfterObjectChange
Public Sub UserProc();
Var
    Tab: ITabSheet;
    Object: ITabObject;
    Argument: TabObjectChangeEventArgsClass;
Begin
    Tab := tabSheetBoxNet1.Source.GetTabSheet();
    Object := Tab.Objects.Item[0];
    Argument := New TabObjectChangeEventArgsClass.Create();
    Argument.CreateObjectChangeArgs(tabSheetBoxNet1.CtrlBox As TabSheetBox, Object, TabObjectChangeType.toctAngle);
    UserOnAfterObjectChange(tabSheetBoxNet1, Argument);
End Sub UserProc;

В результате выполнения процедура UserProc вызовет пользовательский обработчик UserOnAfterObjectChange для события OnAfterObjectChange в компоненте «tabSheetBoxNet1».

См. также:

TabObjectChangeEventArgs