Contains(X: Integer, Y: Integer): Boolean;
Contains(X: integer, Y: integer): boolean;
X. Координата Х точки;
Y. Координата Y точки.
Метод Contains проверяет содержание точки в целочисленном прямоугольнике.
Доступные значения метода:
True. Если точка с координатами X и Y содержится в целочисленном прямоугольнике;
False. Если точка с координатами X и Y не содержится в целочисленном прямоугольнике.
Для выполнения примера предполагается наличие:
формы, расположенной на ней кнопки с идентификатором Button1, компонентов TabSheetBox и UiTabSheet с идентификатором TabSheetBox1 и UiTabSheet1 соответственно. Для TabSheetBox выберите в свойстве Source (UiSourse для Fore.NET) компонент с идентификатором UiTabSheet1;
файла изображения «C:\1.bmp».
Добавьте ссылки на системные сборки: Drawing, Forms, MathFin, Report, Tab, UI.
Пример является обработчиком события OnClick для компонента Button1.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Obj: ITabObject;
Tab: ITabSheet;
Rect: IGxRect;
X, Y: Integer;
Begin
// Создаем новый прямоугольник с указанными размерами
Rect := New GxRect.Create(0, 0, 50, 45);
Tab := UiTabSheet1.TabSheet;
// Добавляем изображение в созданный прямоугольник
Obj := Tab.Objects.Add("PrxPicture", Rect.ToRectF);
(Obj As IPrxPicture).Image := GxImage.FromFile("c:\1.bmp");
// Задаем точку со случайными координатами
X := Math.RandBetweenI(0, 70);
Y := Math.RandBetweenI(0, 70);
// Выполняем проверку вхождения точки в прямоугольник
If Rect.Contains(X, Y) Then
WinApplication.InformationBox("Yes");
Else
WinApplication.InformationBox("No");
End If;
End Sub Button1OnClick;
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.MathFin;
Imports Prognoz.Platform.Interop.Forms;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Ui;
…
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
Obj: ITabObject;
Tab: ITabSheet;
Rect: GxRect = New GxRectClass();
S: string;
X, Y: integer;
Math: MathClass = New MathClass();
Image: GxImageClass_2 = New GxImageClass_2();
WinAppCls: WinApplicationClass = New WinApplicationClassClass();
Begin
// Создаем новый прямоугольник с указанными размерами
Rect.Create(0, 0, 50, 45);
Tab := UiTabSheetNet1.TabSheetUi.TabSheet;
// Добавляем изображение в созданный прямоугольник
Obj := Tab.Objects.Add("PrxPicture", Rect.ToRectF());
Image.CreateFromFile("c:\1.bmp");
(Obj As IPrxPicture).Image := Image;
// Задаем точку со случайными координатами
X := Math.RandBetweenI(0, 70);
Y := Math.RandBetweenI(0, 70);
// Выполняем проверку вхождения точки в прямоугольник
If Rect.Contains(X, Y) Then
WinAppCls.InformationBox("Yes", New IWin32WindowForeAdapter(Self));
Else
WinAppCls.InformationBox("No", New IWin32WindowForeAdapter(Self));
End If;
End Sub;
В результате выполнения примера при нажатии на кнопку Button1 в регламентном отчёте будет создано изображение. Источник изображения - файл «1.bmp». В информационном окне будет содержаться «Yes», если точка со случайными координатами входит в прямоугольник, ограничивающий изображение.
См. также: