TabObjectMovingEventArgs.Create

Синтаксис

Create(Sheet: ITabSheetBox; Object: ITabObject; Rect: IGxRectF; [Cancel: Boolean]);

Create(Sheet: Prognoz.Platform.Interop.Tab.ITabSheetBox; Object: Prognoz.Platform.Interop.Tab.ITabObject; Rect: Prognoz.Platform.Interop.Drawing.IGxRectF; Cancel: boolean)

Параметры

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

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

Rect. Координаты прямоугольной области, занимаемой объектом;

Cancel. Признак отмены перемещения объекта.

Описание

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

Пример

Для выполнения примера предполагается наличие формы, содержащей компоненты TabSheetBox с наименованием TabSheetBox1 и UiReport с наименованием UiReport1, являющийся источником данных для TabSheetBox1. В свойстве Active компонента UiReport1 установите значение True. UiReport1 должен содержать загруженный регламентный отчет с фигурами на активном листе.

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

Вместо компонентов Fore используйте их Fore.NET аналоги.

Добавьте ссылки на системные сборки: Drawing, Tab, Ui.

// Создаем пользовательский обработчик события OnObjectMoving
Sub UserOnObjectMoving(Sender: Object; Args: ITabObjectMovingEventArgs);
Begin
    Args.Cancel := 
Not WinApplication.ConfirmationBox("Переместить объект: " + Args.Object.Id + "?");
End Sub UserOnObjectMoving;
// Вызываем пользовательский обработчик события OnObjectMoving
Public Sub UserProc;
Var
    Tab: ITabSheet;
    rObject: ITabObject;
    Rect: IGxRectF;
    Argument: ITabObjectMovingEventArgs;
Begin
    Tab := TabSheetBox1.Source.GetTabSheet;
    rObject := Tab.Objects.Object(
"PrxShape1");
    Argument := 
New TabObjectMovingEventArgs.Create(TabSheetBox1, rObject, Rect, False);
    UserOnObjectMoving(TabSheetBox1, Argument);
End Sub UserProc;

Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Ui;
…
// Создаем пользовательский обработчик события OnObjectMoving
Sub UserOnObjectMoving(Sender: Object; Args: ITabObjectMovingEventArgs);
Var
    WinAppCls: WinApplicationClass = 
New WinApplicationClassClass();
Begin
    Args.Cancel := 
Not WinAppCls.ConfirmationBox("Переместить объект: " + Args.Object.Id + "?", New IWin32WindowForeAdapter(Self));
End Sub UserOnObjectMoving;
// Назначаем событию OnObjectMoving пользовательский обработчик UserOnObjectMoving
Private Sub TabOnObjectMovingEventArgs_Create_FormForm_Shown(sender: System.Object; e: System.EventArgs);
Begin
    TabSheetBoxNet1.OnObjectMoving += 
New Prognoz.Platform.Forms.Net.TabSheetBoxNet.OnObjectMovingEventHandler(UserOnObjectMoving);
End Sub;
// Вызываем пользовательский обработчик события OnObjectMoving
Public Sub UserProc();
Var
    Tab: ITabSheet;
    rObject: ITabObject;
    Rect: GxRectFClass = 
New GxRectFClass.Create();
    Argument: TabObjectMovingEventArgsClass = 
New TabObjectMovingEventArgsClass.Create();
Begin
    Tab := TabSheetBoxNet1.Source.GetTabSheet();
    rObject := Tab.Objects.Object[
"PrxShape1"];
    Argument.Create(TabSheetBoxNet1.CtrlBox 
As TabSheetBox, rObject, Rect, False);
    UserOnObjectMoving(TabSheetBoxNet1, Argument);
End Sub UserProc;

В результате выполнения процедура UserProc вызовет пользовательский обработчик UserOnObjectMoving.

См. также:

TabObjectMovingEventArgs