TabBeforeObjectRectChangeEventArgs.Create

Синтаксис Fore

TabBeforeObjectAngleChangeEventArgs(TabSheet: ITabSheetBox;
                       Object: ITabObject;
                       Type: TabObjectChangeType;

                       Value: IGxRectF;

                       Cancel: Boolean);

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

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

                       Value: Prognoz.Platform.Interop.Drawing.IGxRectF;

                       Cancel: boolean);

Параметры

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

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

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

Value. Новое положение и размер объекта;

Cancel. Признак того, отменять ли вращение объекта.

Описание

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

Комментарии

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

Возможные значения параметра Cancel:

Пример Fore

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

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

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

Добавьте ссылку на системную сборку Drawing.

Sub UserProc;
Var
    Tab: ITabSheet;
    tObject: ITabObject;
    Rect: IGxRectF;
    Argument: TabBeforeObjectRectChangeEventArgs;
Begin
    Tab := TabSheetBox1.Source.GetTabSheet;
    tObject := Tab.Objects.Item(0);
    Rect := New GxRectF.Create(10106060);
    Argument := New TabBeforeObjectRectChangeEventArgs.Create(TabSheetBox1, tObject, TabObjectChangeType.Rect, Rect, False);
    TabSheetBox1.OnBeforeObjectChange(TabSheetBox1, Argument);
End Sub UserProc;

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

Пример Fore.NET

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

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

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

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

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

Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Tab;

// Пользовательский обработчик события OnBeforeObjectChange
Public Sub UserOnBeforeObjectChange(Sender: Object; Args: ITabObjectChangeEventArgs);
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 UserOnBeforeObjectChange;
    
// Назначаем событию OnBeforeObjectChange пользовательский обработчик UserOnBeforeObjectChange
Private Sub TabBeforeObjectRectChangeEventArgs_Create_FormForm_Shown(sender: System.Object; e: System.EventArgs);
Begin
    tabSheetBoxNet1.OnBeforeObjectChange += New Prognoz.Platform.Forms.Net.TabSheetBoxNet.OnBeforeObjectChangeEventHandler(UserOnBeforeObjectChange);
End Sub;

// Вызываем пользовательский обработчик события OnBeforeObjectChange
Public Sub UserProc();
Var
    Tab: ITabSheet;
    tObject: ITabObject;
    Rect: GxRectFClass = New GxRectFClass.Create();
    Argument: TabBeforeObjectRectChangeEventArgsClass = New TabBeforeObjectRectChangeEventArgsClass.Create();
Begin
    Tab := tabSheetBoxNet1.Source.GetTabSheet();
    tObject := Tab.Objects.Item[0];
    Rect.Create(10106060);
    Argument.Create(tabSheetBoxNet1.CtrlBox As TabSheetBox, tObject, TabObjectChangeType.toctRect, Rect, False);
    UserOnBeforeObjectChange(tabSheetBoxNet1, Argument);
End Sub UserProc;

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

См. также:

TabBeforeObjectRectChangeEventArgs