FGX.Controls.TfgControl

Материал из FGX Native Докуметации
Версия от 17:17, 23 декабря 2022; Admin (обсуждение | вклад) (summary)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Delphi

TfgControl = class (TComponent, IFGXTapSupported, IFGXNotificationObserver, IFGXNotificationObservable)

TComponent -> TfgControl

Прямые наследники: TfgCustomActivityIndicator, TfgCustomBannerAd, TfgCustomBottomSheetLayout, TfgCustomAppleIdButton, TfgCustomButton, TfgCollectionViewStyles, TfgCustomCollectionView, TfgCustomComboBox, TfgCustomDateTimeControl, TfgCustomDrawerLayout, TfgCustomEdit, TfgGraphicControl, TfgCustomImage, TfgCustomLayout, TfgCustomListMenu, TfgCustomLottieImage, TfgCustomMap, TfgCustomMemo, TfgCustomNavigationBar, TfgCustomPageControl, TfgCustomProgressBar, TfgCustomSpacer, TfgCustomLabel, TfgCustomToolBar, TfgCustomTrackBar, TfgCustomVideoControl, TfgCustomVirtualListPicker, TfgCustomVirtualPagerLayout, TfgCustomWebBrowser

Непрямые наследники: TfgActivityIndicator, TfgBannerAd, TfgBottomSheetLayout, TfgAppleIdButton, TfgButton, TfgCollectionView, TfgComboBox, TfgCustomDateControl, TfgCustomTimeControl, TfgCustomCalendar, TfgCustomDateEdit, TfgCustomDatePicker, TfgCalendar, TfgDateEdit, TfgDatePicker, TfgCustomTimeEdit, TfgCustomTimePicker, TfgTimeEdit, TfgTimePicker, TfgDrawerLayout, TfgCustomAutoCompleteEdit, TfgEdit, TfgAutoCompleteEdit, TfgCustomSearchEdit, TfgSearchEdit, TfgCustomPaintBox, TfgShape, TfgPaintBox, TfgCustomArc, TfgCustomCircle, TfgCustomEllipse, TfgCustomLine, TfgCustomRegularPolygon, TfgCustomRhomb, TfgPathShape, TfgCustomSignature, TfgCustomSvgPath, TfgArc, TfgCustomArch, TfgCustomSector, TfgArch, TfgSector, TfgCircle, TfgEllipse, TfgLine, TfgRegularPolygon, TfgRhomb, TfgCustomRectangle, TfgRectangle, TfgSignature, TfgSvgPath, TfgImage, TfgCustomBottomSheet, TfgCustomBottomSheetContent, TfgCustomCameraPreview, TfgCustomCardPanel, TfgCollectionViewStyle, TfgCustomComboBoxItem, TfgCustomDrawer, TfgCustomForm, TfgLayout, TfgCustomPage, TfgCustomScrollBox, TfgCustomTouchInterceptableLayout, TfgBottomSheet, TfgBottomSheetContent, TfgCameraPreview, TfgCardPanel, TfgComboBoxTextItem, TfgDrawer, TfgForm, TfgMainContent, TfgPage, TfgScrollBox, TfgVerticalScrollBox, TfgHorizontalScrollBox, TfgTouchInterceptableLayout, TfgListMenu, TfgLottieImage, TfgMap, TfgMemo, TfgNavigationBar, TfgPageControl, TfgProgressBar, TfgSpacer, TfgCustomCheckBox, TfgCustomRadioButton, TfgLabel, TfgCustomSwitch, TfgCheckBox, TfgRadioButton, TfgSwitch, TfgToolBar, TfgTrackBar, TfgVideoControl, TfgCustomNumberListPicker, TfgVirtualListPicker, TfgNumberListPicker, TfgCustomImageSlider, TfgCustomPagerLayout, TfgVirtualPagerLayout, TfgImageSlider, TfgPagerLayout, TfgWebBrowser

Описание

Описание отсутствует.

Конструкторы

constructor
Create(AOwner: TComponent)

Описание отсутствует.

Методы

procedure
AfterConstruction()

Описание отсутствует.

procedure
BeforeDestruction()

Описание отсутствует.

function
ToString(): string

Описание отсутствует.

function
IsLoading(): Boolean

Контрол находится в процессе десерилизации (чтении свойств из ресурсов)?

function
IsCreating(): Boolean

Контрол находится в процессе создания?

function
IsDestroying(): Boolean

Контрол находится в процессе уничтожения?

procedure
UpdateTheme(const AThemeName: TfgThemeName)

Замняет текущую используемую тему в компоненте на указанную AThemeName .

Значение темы может быть сброшено при смене темы у формы владельца Form .
procedure
AddControl(const AChild: TfgControl)

Добавляет указанный контрол AChild в конец списка своих непосредственно вложенных контролов. Добавленный контрол отображается на переднем плане.

procedure
InsertControl(const AChild: TfgControl)

Добавляет указанный контрол AChild в конец списка своих непосредственно вложенных контролов. Добавленный контрол отображается на переднем плане.

procedure
InsertControl(const AChild: TfgControl; const AIndex: Integer)

Вставляет указанный контрол AChild в позицию с индексом AIndex списка своих непосредственно вложенных контролов.

0 - AChild располагается позади всех. ControlsCount - Поверх всех смежных.
procedure
RemoveControl(const AChild: TfgControl)

Удаляет указанный контрол AChild среди списка своих непосредственно вложенных контролов.

procedure
DeleteControls()

Удаляет все дочерние объекты и физически их уничтожает.

function
HasParent(): Boolean

Задан ли родительский контрол или нет?

function
IsChild(const AChild: TfgControl): Boolean

Возвращает True , если указанный контрол AChild является наследником текущего контрола (по цепочке родителей можно выйти на текущий контрол).

function
GetParentComponent(): TComponent

Описание отсутствует.

procedure
BringToFront()

Отправляет текущий контрол на передний план. При этом контрол будет отображаться поверх всех остльных соседних контролов (в рамках родителя).

procedure
SendToBack()

Отправляет текущий контрол на задний план. При этом контрол будет отображаться позади всех остльных соседних контролов (в рамках родителя).

function
HitTestPoint(const ALocalPoint: TPointF): Boolean

Проверяет, принадлежит ли указанная точка в локальной системе координат контрола, текущему контролу.

function
ControlAtPoint(const ALocalPoint: TPointF; const AIgnoreStored: Boolean): TfgControl

Ищет дочерний контрол по указанной точке, указанной в локальной системе координат контрола, который ближе всего находится к пользователю по Z-оси. Если контрол не найден, вернется nil. Дополнительно при поиске можно игнорировать контролы AIgnoreStored , у которых Stored = True .

procedure
Invalidate()

Выполнить полную перерисовку формы.

procedure
PaintTo(const ACanvas: TfgCanvas)

Отрисовывает содержимое контрола и всех вложенных в него контролов на переданную канву ACanvas .

function
Clone(const AStoreEvents: Boolean): TfgControl

Делает копию текущего контрола на основании "published" свойств.

function
GetFormPosition(): TPointF

Положение контрола в системе кординат формы.

function
GetFormBounds(): TRectF

Положение и размер контрола в системе кординат формы.

function
MeasureSize(const AWidthSpec: TfgMeasuringSpecification; const AWidth: Single; const AHeightSpec: TfgMeasuringSpecification; const AHeight: Single): TSizeF

Выполняет рассчет размера контрола на основании входящих данных. Спецификации AWidthSpec и AHeightSpec указывают, как нужно использовать ширину AWidth и высоту AHeight при вычислении размера контрола.

  • TfgMeasuringSpecification.Undefined - финальный вычисляемый размер никак не ограничен сверху. При использовании этой спецификации переданный размер в AWidth или AHeight будет проигнорирован.
  • TfgMeasuringSpecification.AtMost - означает, что финальный вычисляемый размер ограничен сверху соответствующим значением ширины AWidth или высоты AHeight .
  • TfgMeasuringSpecification.Fixed - означает, что финальный вычисляемый размер зафиксирован сверху соответствующим значением ширины AWidth или высоты AHeight .
Данный расчет никак не влияет на текущее положение и размеры контрола и всех дочерних контролов.
function
LocalToForm(const ALocalPoint: TPointF): TPointF

Конвертирует локальные координаты в рамках контрола в систему координат формы.

function
CanRealign(): Boolean

Возвращает True, если можно выполнить выравнивание. False - в противном случае.

Выравнивание можно отключать для предотвращения лишных проходов выравнивания через BeginUpdate - EndUpdate . Например, при пакетном изменении свойств выравнивания.
procedure
Realign()

Принудительно запускает синхронное выравнивание, если выравнивание допустимо в текущий момент CanRealign .

procedure
RequestRealign()

Помечает, что для контрол необходимо выполнить выравнивание.

Процесс выравнивания происходит асинхронно, поэтому этот метод не выполняет выравнивание. Фактически процедура выравнивания произойдет позже. Если вам требуется выполнить выравнивание синхронно, то воспользуйтесь методов Realign .
procedure
BeginUpdate()

Информирует контрол о том, что сейчас начнется пакетная обработка свойств. На это время выравнивание приостанавливается и продолжится, после вызова парного метода EndUpdate .

BeginUpdate - EndUpdate учитывают количество вызовов. Поэтому методы можно вызывать несколько раз. Однако, при этом выравнивание будет вызвано, когда будут вызваны все парные EndUpdate .
procedure
EndUpdate()

Информирует контрол о том, что заканчивается пакетная обработка свойств. Если этот вызов EndUpdate является последним парным к BeginUpdate , то запускается выравнивание.

BeginUpdate - EndUpdate учитывают количество вызовов. Поэтому методы можно вызывать несколько раз. Однако, при этом выравнивание будет вызвано, когда будут вызваны все парные EndUpdate .
function
IsUpdating(): Boolean

True - если контрол находится в состоянии пакетной обработки свойств. При этом на этот период выравнивание отключается.

procedure
SetFocus()

Устанавливает фокус на контрол. Если контрол поддерживает работу с фокусом.

function
ResetFocus(): Boolean

Сбрасывает фокус.

function
IsFocused(): Boolean

Находится ли текущий контрол под фокусом?

procedure
SubscribeOnNotification(const AObserver: IFGXNotificationObserver; const ANotificationType: TfgNotificationType)

Подисывает наблюдателя AObserver на получение уведомлений типа ANotificationType .

procedure
SubscribeOnNotification(const AObserver: IFGXNotificationObserver; const ANotificationTypes: TfgNotificationTypes)

Описание отсутствует.

procedure
UnsubscribeOnNotification(const AObserver: IFGXNotificationObserver; const ANotificationType: TfgNotificationType)

Отписывает наблюдателя AObserver на получение уведомлений типа ANotificationType . Если подписчик не был ранее подписан, метод тогда ничего не делает.

procedure
UnsubscribeOnNotification(const AObserver: IFGXNotificationObserver; const ANotificationTypes: TfgNotificationTypes)

Описание отсутствует.

procedure
Notify(const ANotificationType: TfgNotificationType)

Уведомляет всех подписчиков, что произошло событие с типом ANotificationType . В этом случае, отправитель - это Self .

procedure
Notify(const ASender: TObject; const ANotificationType: TfgNotificationType)

Уведомляет всех подписчиков, что произошло событие с типом ANotificationType . Так же дополнительно считается, что отправителем является ASender .

Свойства

property
Index: Integer

Порядковый номер контрола в рамках родителя. Отвечает за порядок выравнивания и Z-порядок. 0 - контрол находится позади всех соседних и выравнивается первым.

property
AnimationManager: TfgAnimationManager

Менеджер анимаций текущего компонента.

property
Form: TfgControl

Возвращает ссылку на форму, в которую встроен контрол.

Контрол считается встроенным в форму, если по цепочке родителей можно добраться до экземпляра формы. Если одна форма встроена в другую, то вернет ссылку на ближайшую форму по цепочке родителей.
property
RootForm: TfgControl

Возвращает ссылку на корневыую форму, которая содержит контрол.

property
Controls: [[TList<FGX.Controls.TfgControl>]]

Вложенные контролы.

property
ControlsCount: Integer

Количество вложенных контролов.

property
BackgroundLink: TfgAssetLink

Связь ресурса заднего фона.

property
Handle: TfgNativeControlHandle

Хендл с информацией о нативном представлении контрола.

property
Parent: TfgControl

Родитель

property
Bounds: TRectF

Местоположение контрола в родительской системе координат.

property
LocalBounds: TRectF

Возвращает местоположение контрола в своей системе координат.

property
Height: Single

Высота контрола

При задании высоты конечное значение высоты может отличаться от задаваемого. Это может зависит от ограничений нативного контрола или специфики реализации.
property
Width: Single

Ширина контрола

При задании ширины конечное значение ширины может отличаться от задаваемого. Это может зависит от ограничений нативного контрола или специфики реализации.
property
Stored: Boolean

Нужно ли при серилизации сохранять текущий контрол.

property
TagObject: TObject

Место хранения пользовательских данных, ассоциированных с данным контролом.

property
StyleLink: TfgAssetStyleLink

Описание отсутствует.

property
Autosize: TfgSizeDimensions

Режим автоматического рассчета размера компонента.

property
Locked: Boolean

Позволяет заблокировать выделение компонента мышкой в дизайн тайме.

property
Alignment: TfgControlAlignment

Настройки выравнивания контрола в рамках родителя.

property
PositionMode: TfgPositionMode

Режим позиционирования контрола в рамках родителя (в абсолютных координатах / относительно).

property
Position: TfgPosition

Позиция контрола в локальных логических координатах родителя Parent .

property
RelativePosition: TfgRelativePosition

Относительная позиция контролов относительно родителя. Актуально только для PositionMode = Relative .

property
Size: TfgSize

Размер контрола в логических координатах.

property
Constraints: TfgConstraints

Ограничение на размеры контрола.

property
Margins: TfgMargins

Внешние отступы контрола. Используются при выравнивании текущего контрола в рамках контейнера.

property
AlignWithMargins: Boolean

Нужно ли использовать заданные внешние отступы Margins .

property
ClipChildren: Boolean

Описание отсутствует.

property
StyleName: TfgAssetName

Описание отсутствует.

property
GestureKinds: TfgGestureKinds

Виды поддерживаемых жестов.

property
LookupName: string

Идентификатор, используемый для поиска данного контрола среди других. Актуально для ситуаций, когда несколько контролов могут иметь одно и тоже имя для поиска и нам нужно найти данный контрол в определенной части поддерева.

property
Opacity: Single

Прозрачность контрола.

property
BackgroundName: TfgAssetName

Настройки отображения заднего фона контрола.

property
Enabled: Boolean

Настройка отключения реакции на воздействия пользователя на компонент.

property
Visible: Boolean

Видимость контрола.

property
HitTest: Boolean

Описание отсутствует.

События

event
OnTap: TNotifyEvent

Срабатывает, когда пользователь коротко нажимает на экран без перемещения пальца по экрану.

event
OnDoubleTap: TfgDoubleTapEvent

Срабатывает, когда пользователь коротко нажимает два раза на экран без перемещения пальца по экрану.

event
OnLongTap: TfgLongTapEvent

Срабатывает, когда пользователь долго нажимает на экран без перемещения пальца по экрану.

event
OnZoom: TfgZoomEvent

Срабатывает, когда пользователь опускает два пальца на экран и начинает их сводить/разводить.

event
OnDestroy: TNotifyEvent

Вызывается перед удалением контрола. А именно перед вызовом деструктора.

event
OnResized: TfgResizedEvent

Вызывается когда контрол изменил свой размерм.

event
OnPositionChanged: TfgPositionChangedEvent

Вызывается когда контрол поменял свою позицию.

event
OnPaint: TfgPaintEvent

Вызывается после отрисовки нативного контрола. Служит для выполнения пользовательской отрисовки поверх контрола.

event
OnTouch: TfgTouchEvent

Вызывается в момент касания пользователем экрана устройства.

event
OnEnter: TNotifyEvent

Срабатывает, когда контрол получает фокус.

event
OnExit: TNotifyEvent

Срабатывает, когда контрол теряет фокус.

Константы

const
DefaultAlignWithMargins: Boolean

Описание отсутствует.

const
DefaultOpacity: Integer

Описание отсутствует.

const
DefaultVisible: Boolean

Описание отсутствует.

const
DefaultEnabled: Boolean

Описание отсутствует.

const
DefaultHitTest: Boolean

Описание отсутствует.

const
DefaultStored: Boolean

Описание отсутствует.

const
DefaultLocked: Boolean

Описание отсутствует.

const
DefaultPositionMode: TfgPositionMode

Описание отсутствует.

const
DefaultThemeName: string

Описание отсутствует.

const
DefaultAutosize: Set

Описание отсутствует.

const
DefaultClipChildren: Boolean

Описание отсутствует.