ReportObjectResizingEventArgs.Create

Синтаксис

Create(Report: IReportBox; Sheet: IPrxSheet; Object: ITabObject; Rect: IGxRectF; Side: TabObjectResizingSide; [Cancel: Boolean]);

Create(Report: Prognoz.Platform.Interop.Report.IReportBox; Sheet: Prognoz.Platform.Interop.Report.IPrxSheet; Object: ; Rect: ; Side: Prognoz.Platform.Interop.Tab.TabObjectResizingSide; Cancel: boolean);

Параметры

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

Sheet. Страница отчета, для которой генерируется событие;

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

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

Side. Сторона, которая была изменена;

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

Описание

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

Пример

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

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

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

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

// Создаем пользовательский обработчик события OnObjectResizing
Sub UserOnObjectResizing(Sender: Object; Args: IReportObjectResizingEventArgs);
Begin
    
Select Case Args.Side
    
Case TabObjectResizingSide.Left:
        Debug.WriteLine(
"Объекту '" + Args.Object.Id + "' изменили размер слева");
    
Case TabObjectResizingSide.Right:
        Debug.WriteLine(
"Объекту '" + Args.Object.Id + "' изменили размер справа");
    
End Select;
End Sub UserOnObjectResizing;
// Вызываем пользовательский обработчик события OnObjectResizing
Public Sub UserProc;
Var
    Report: IPrxReport;
    Sheet: IPrxSheet;
    Tab: ITabSheet;
    rObject: ITabObject;
    Rect: IGxRectF;
    Argument: IReportObjectResizingEventArgs;
Begin
    Report := ReportBox1.Report.Report;
    Sheet := Report.Sheets.Item(
0);
    Tab := (Sheet 
As IPrxTable).TabSheet;
    rObject := Tab.Objects.Object(
"PrxShape1") As ITabObject;
    Rect := 
New GxRectF.Create(10, 10, 60, 60);
    Argument := 
New ReportObjectResizingEventArgs.Create(ReportBox1, Sheet, rObject, Rect, TabObjectResizingSide.Left, False);
    UserOnObjectResizing(ReportBox1, Argument);
End Sub UserProc;

Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
…
// Создаем пользовательский обработчик события OnObjectResizing
Public Sub UserOnObjectResizing(Sender: Object; Args: IReportObjectResizingEventArgs);
Begin
    
Select Case Args.Side
    
Case TabObjectResizingSide.torsLeft:
        System.Diagnostics.Debug.WriteLine(
"Объекту '" + Args.Object.Id + "' изменили размер слева");
    
Case TabObjectResizingSide.torsRight:
        System.Diagnostics.Debug.WriteLine(
"Объекту '" + Args.Object.Id + "' изменили размер справа");
    
End Select;
End Sub UserOnObjectResizing;
// Назначаем событию OnObjectResizing пользовательский обработчик UserOnObjectResizing
Private Sub ReportOnObjectResizingEventArgs_Create_FormForm_Shown(sender: System.Object; e: System.EventArgs);
Begin
    ReportBoxNet1.OnObjectResizing += 
New Prognoz.Platform.Forms.Net.ReportBoxNet.OnObjectResizingEventHandler(UserOnObjectResizing);
End Sub;
// Вызываем пользовательский обработчик события OnObjectResizing
Public Sub UserProc();
Var
    Report: IPrxReport;
    Sheet: IPrxSheet;
    Tab: ITabSheet;
    rObject: ITabObject;
    Rect: GxRectFClass = 
New GxRectFClass.Create();
    Argument: ReportObjectResizingEventArgsClass = 
New ReportObjectResizingEventArgsClass.Create();
Begin
    Report := ReportBoxNet1.Source.Report;
    Sheet := Report.Sheets.Item[
0];
    Tab := (Sheet 
As IPrxTable).TabSheet;
    rObject := Tab.Objects.Object[
"PrxShape1"] As ITabObject;
    Rect.Create(
10, 10, 60, 60);
    Argument.Create(ReportBoxNet1.CtrlBox 
As ReportBox, Sheet, rObject, Rect, TabObjectResizingSide.torsLeft, False);
    UserOnObjectResizing(ReportBoxNet1, Argument);
End Sub UserProc;

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

См. также:

ReportObjectResizingEventArgs