FGX.Control.TfgControl: различия между версиями

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску
(summary)
(summary)
 
(не показаны 4 промежуточные версии этого же участника)
Строка 17: Строка 17:
  
 
<span style="color:gray">Описание отсутствует.</span>
 
<span style="color:gray">Описание отсутствует.</span>
 
 
== Конструкторы ==
 
== Конструкторы ==
  
Строка 23: Строка 22:
 
|-
 
|-
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create(AOwner: [[TComponent]])</code>
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create(AOwner: [[TComponent]])</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|}
 +
 +
== Методы ==
 +
 +
{| class="wikitable sortable"
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">AfterConstruction()</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">BeforeDestruction()</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsLoading(): [[Boolean]]</code>
 +
<p>Контрол находится в процессе десерилизации (чтении свойств из ресурсов)?</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsCreating(): [[Boolean]]</code>
 +
<p>Контрол находится в процессе создания?</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsDestroying(): [[Boolean]]</code>
 +
<p>Контрол находится в процессе уничтожения?</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">InsertControl(const AChild: [[FGX.Control.TfgControl|TfgControl]])</code>
 +
<p>Добавляет указанный контрол <i>AChild</i> в конец списка своих непосредственно вложенных контролов. Добавленный контрол отображается на переднем плане.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">RemoveControl(const AChild: [[FGX.Control.TfgControl|TfgControl]])</code>
 +
<p>Удаляет указанный контрол <i>AChild</i> среди списка своих непосредственно вложенных контролов.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">DeleteControls()</code>
 +
<p>Удаляет все дочерние объекты и физически их уничтожает.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">HasParent(): [[Boolean]]</code>
 +
<p>Задан ли родительский контрол или нет?</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsChild(const AChild: [[FGX.Control.TfgControl|TfgControl]]): [[Boolean]]</code>
 +
<p>Возвращает <i>True</i> , если указанный контрол <i>AChild</i> является наследником текущего контрола (по цепочке родителей можно выйти на текущий контрол).</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetParentComponent(): [[TComponent]]</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">BringToFront()</code>
 +
<p>Отправляет текущий контрол на передний план. При этом контрол будет отображаться поверх всех остльных соседних контролов (в рамках родителя).</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">SendToBack()</code>
 +
<p>Отправляет текущий контрол на задний план. При этом контрол будет отображаться позади всех остльных соседних контролов (в рамках родителя).</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">HitTestPoint(const ALocalPoint: [[TPointF]]): [[Boolean]]</code>
 +
<p>Проверяет, принадлежит ли указанная точка в локальной системе координат контрола, текущему контролу.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">ControlAtPoint(const ALocalPoint: [[TPointF]]; const AIgnoreStored: [[Boolean]]): [[FGX.Control.TfgControl|TfgControl]]</code>
 +
<p>Ищет дочерний контрол по указанной точке, указанной в локальной системе координат контрола, который ближе всего находится к пользователю по Z-оси. Если контрол не найден, вернется nil. Дополнительно при поиске можно игнорировать контролы <i>AIgnoreStored</i> , у которых <i>Stored = True</i> .</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Invalidate()</code>
 +
<p>Выполнить полную перерисовку формы.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">Clone(const AStoreEvents: [[Boolean]]): [[FGX.Control.TfgControl|TfgControl]]</code>
 +
<p>Делает копию текущего контрола на основании "published" свойств.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetFormPosition(): [[TPointF]]</code>
 +
<p>Положение контрола в системе кординат формы.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetFormBounds(): [[TRectF]]</code>
 +
<p>Положение и размер контрола в системе кординат формы.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">MeasureSize(const AWidthSpec: [[FGX.Control.TfgMeasuringSpecification|TfgMeasuringSpecification]]; const AWidth: [[Single]]; const AHeightSpec: [[FGX.Control.TfgMeasuringSpecification|TfgMeasuringSpecification]]; const AHeight: [[Single]]): [[TSizeF]]</code>
 +
 +
<p>Выполняет рассчет размера контрола на основании входящих данных. Спецификации <i>AWidthSpec</i> и <i>AHeightSpec</i> указывают, как нужно использовать ширину <i>AWidth</i> и высоту <i>AHeight</i> при вычислении размера контрола.</p> <ul><li><b>TfgMeasuringSpecification.Undefined</b> - финальный вычисляемый размер никак не ограничен сверху. При использовании этой спецификации переданный размер в <i>AWidth</i> или <i>AHeight</i> будет проигнорирован.</li> <li><b>TfgMeasuringSpecification.AtMost</b> - означает, что финальный вычисляемый размер ограничен сверху соответствующим значением ширины <i>AWidth</i> или высоты <i>AHeight</i> .</li> <li><b>TfgMeasuringSpecification.Fixed</b> - означает, что финальный вычисляемый размер зафиксирован сверху соответствующим значением ширины <i>AWidth</i> или высоты <i>AHeight</i> .</li></ul><div class="info">Данный расчет никак не влияет на текущее положение и размеры контрола и всех дочерних контролов.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">LocalToForm(const ALocalPoint: [[TPointF]]): [[TPointF]]</code>
 +
<p>Конвертирует локальные координаты в рамках контрола в систему координат формы.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">CanRealign(): [[Boolean]]</code>
 +
 +
<p>Возвращает True, если можно выполнить выравнивание. False - в противном случае.</p><div class="info">Выравнивание можно отключать для предотвращения лишных проходов выравнивания через <i>BeginUpdate</i> - <i>EndUpdate</i> . Например, при пакетном изменении свойств выравнивания.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Realign()</code>
 +
<p>Принудительно запускает синхронное выравнивание, если выравнивание допустимо в текущий момент <i>CanRealign</i> .</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">BeginUpdate()</code>
 +
 +
<p>Информирует контрол о том, что сейчас начнется пакетная обработка свойств. На это время выравнивание приостанавливается и продолжится, после вызова парного метода <i>EndUpdate</i> .</p><div class="info"><i>BeginUpdate</i> - <i>EndUpdate</i> учитывают количество вызовов. Поэтому методы можно вызывать несколько раз. Однако, при этом выравнивание будет вызвано, когда будут вызваны все парные <i>EndUpdate</i> .</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">EndUpdate()</code>
 +
 +
<p>Информирует контрол о том, что заканчивается пакетная обработка свойств. Если этот вызов <i>EndUpdate</i> является последним парным к <i>BeginUpdate</i> , то запускается выравнивание.</p><div class="info"><i>BeginUpdate</i> - <i>EndUpdate</i> учитывают количество вызовов. Поэтому методы можно вызывать несколько раз. Однако, при этом выравнивание будет вызвано, когда будут вызваны все парные <i>EndUpdate</i> .</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsUpdating(): [[Boolean]]</code>
 +
<p>True - если контрол находится в состоянии пакетной обработки свойств. При этом на этот период выравнивание отключается.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">SetFocus()</code>
 +
<p>Устанавливает фокус на контрол. Если контрол поддерживает работу с фокусом.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">ResetFocus(): [[Boolean]]</code>
 +
<p>Сбрасывает фокус.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">IsFocused(): [[Boolean]]</code>
 +
<p>Находится ли текущий контрол под фокусом?</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">SubscribeOnNotification(const AObserver: [[FGX.Control.Types.IFGXNotificationObserver|IFGXNotificationObserver]]; const ANotificationType: [[FGX.Control.Types.TfgNotificationType|TfgNotificationType]])</code>
 +
<p>Подисывает наблюдателя <i>AObserver</i> на получение уведомлений типа <i>ANotificationType</i> .</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">UnsubscribeOnNotification(const AObserver: [[FGX.Control.Types.IFGXNotificationObserver|IFGXNotificationObserver]]; const ANotificationType: [[FGX.Control.Types.TfgNotificationType|TfgNotificationType]])</code>
 +
<p>Отписывает наблюдателя <i>AObserver</i> на получение уведомлений типа <i>ANotificationType</i> . Если подписчик не был ранее подписан, метод тогда ничего не делает.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">Notify(const ANotificationType: [[FGX.Control.Types.TfgNotificationType|TfgNotificationType]])</code>
 +
<p>Уведомляет всех подписчиков, что произошло событие с типом <i>ANotificationType</i> .</p>
 +
|}
 +
 +
== Свойства ==
 +
 +
{| class="wikitable sortable"
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Index: [[Integer]]</code>
 +
<p>Порядковый номер контрола в рамках родителя. Отвечает за порядок выравнивания и Z-порядок. 0 - контрол находится позади всех соседних и выравнивается первым.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Form: [[FGX.Control.TfgControl|TfgControl]]</code>
 +
 +
<p>Возвращает ссылку на форму, в которую встроен контрол.</p><div class="info">Контрол считается встроенным в форму, если по цепочке родителей можно добраться до экземпляра формы. Если одна форма встроена в другую, то вернет ссылку на ближайшую форму по цепочке родителей.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Controls: [[TList<FGX.Control.TfgControl>]]</code>
 +
<p>Вложенные контролы.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>ControlsCount: [[Integer]]</code>
 +
<p>Количество вложенных контролов.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>BackgroundLink: [[FGX.Assets.TfgAssetLink|TfgAssetLink]]</code>
 +
<p>Связь ресурса заднего фона.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Handle: [[FGX.NativeControl.Factory.TfgNativeControlHandle|TfgNativeControlHandle]]</code>
 +
<p>Хендл с информацией о нативном представлении контрола.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Parent: [[FGX.Control.TfgControl|TfgControl]]</code>
 +
<p>Родитель</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Bounds: [[TRectF]]</code>
 +
<p>Местоположение контрола в родительской системе координат.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>LocalBounds: [[TRectF]]</code>
 +
<p>Возвращает местоположение контрола в своей системе координат.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Height: [[Single]]</code>
 +
 +
<p>Высота контрола</p><div class="info">При задании высоты конечное значение высоты может отличаться от задаваемого. Это может зависит от ограничений нативного контрола или специфики реализации.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Width: [[Single]]</code>
 +
 +
<p>Ширина контрола</p><div class="info">При задании ширины конечное значение ширины может отличаться от задаваемого. Это может зависит от ограничений нативного контрола или специфики реализации.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>NaturalSize: [[TSizeF]]</code>
 +
<p>Естественный размер контрола. Каждый контрол может сказать, какой размер ему необходим, чтобы нормально отобразить свое содержимое.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Stored: [[Boolean]]</code>
 +
<p>Нужно ли при серилизации сохранять текущий контрол.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>TagObject: [[TObject]]</code>
 +
<p>Место хранения пользовательских данных, ассоциированных с данным контролом.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Locked: [[Boolean]]</code>
 +
<p>Позволяет заблокировать выделение компонента мышкой в дизайн тайме.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Alignment: [[FGX.Control.Types.TfgControlAlignment|TfgControlAlignment]]</code>
 +
<p>Настройки выравнивания контрола в рамках родителя.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>PositionMode: [[FGX.Control.Types.TfgPositionMode|TfgPositionMode]]</code>
 +
<p>Режим позиционирования контрола в рамках родителя (в абсолютных координатах / относительно).</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Position: [[FGX.Control.Types.TfgPosition|TfgPosition]]</code>
 +
<p>Позиция контрола в локальных логических координатах родителя <i>Parent</i> .</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>RelativePosition: [[FGX.Control.Types.TfgRelativePosition|TfgRelativePosition]]</code>
 +
<p>Относительная позиция контролов относительно родителя. Актуально только для <b>PositionMode = Relative</b> .</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Size: [[FGX.Control.Types.TfgSize|TfgSize]]</code>
 +
<p>Размер контрола в логических координатах.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Constraints: [[FGX.Control.Types.TfgConstraints|TfgConstraints]]</code>
 +
<p>Ограничение на размеры контрола.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Margins: [[FGX.Control.Types.TfgMargins|TfgMargins]]</code>
 +
<p>Внешние отступы контрола. Используются при выравнивании текущего контрола в рамках контейнера.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>AlignWithMargins: [[Boolean]]</code>
 +
<p>Нужно ли использовать заданные внешние отступы <i>Margins</i> .</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>GestureKinds: [[FGX.Control.TfgGestureKinds|TfgGestureKinds]]</code>
 +
<p>Виды поддерживаемых жестов.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>LookupName: [[string]]</code>
 +
<p>Идентификатор, используемый для поиска данного контрола среди других. Актуально для ситуаций, когда несколько контролов могут иметь одно и тоже имя для поиска и нам нужно найти данный контрол в определенной части поддерева.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Opacity: [[Single]]</code>
 +
<p>Прозрачность контрола.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>BackgroundName: [[TfgAssetName|TfgAssetName]]</code>
 +
<p>Настройки отображения заднего фона контрола.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Visible: [[Boolean]]</code>
 +
<p>Видимость контрола.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>HitTest: [[Boolean]]</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|}
 +
 +
== События ==
 +
 +
{| class="wikitable sortable"
 +
|-
 +
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnTap: [[TNotifyEvent]]</code>
 +
<p>Срабатывает, когда пользователь коротко нажимает на экран без перемещения пальца по экрану.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnLongTap: [[TfgLongTapEvent]]</code>
 +
<p>Срабатывает, когда пользователь долго нажимает на экран без перемещения пальца по экрану.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnDestroy: [[TNotifyEvent]]</code>
 +
<p>Вызывается перед удалением контрола. А именно перед вызовом деструктора.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnResized: [[TfgResizedEvent]]</code>
 +
<p>Вызывается когда контрол изменил свой размерм.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnPositionChanged: [[TfgPositionChangedEvent]]</code>
 +
<p>Вызывается когда контрол поменял свою позицию.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnPaint: [[TfgPaintEvent]]</code>
 +
<p>Вызывается после отрисовки нативного контрола. Служит для выполнения пользовательской отрисовки поверх контрола.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnTouch: [[Boolean]]</code>
 +
<p>Вызывается в момент касания пользователем экрана устройства.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnEnter: [[TNotifyEvent]]</code>
 +
<p>Срабатывает, когда контрол получает фокус.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">event</syntaxhighlight> || <code>OnExit: [[TNotifyEvent]]</code>
 +
<p>Срабатывает, когда контрол теряет фокус.</p>
 +
|}
 +
 +
== Константы ==
 +
 +
{| class="wikitable sortable"
 +
|-
 +
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultAlignWithMargins: [[Boolean]]</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultOpacity: [[Integer]]</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultVisible: [[Boolean]]</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultHitTest: [[Boolean]]</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultStored: [[Boolean]]</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultLocked: [[Boolean]]</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">const</syntaxhighlight> || <code>DefaultPositionMode: [[FGX.Control.Types.TfgPositionMode|TfgPositionMode]]</code>
 
<span style="color:gray">Описание отсутствует.</span>
 
<span style="color:gray">Описание отсутствует.</span>
 
|}
 
|}

Текущая версия на 02:49, 1 июля 2019

Delphi

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

TComponent -> TfgControl

Прямые наследники: TfgCustomActivityIndicator, TfgCustomButton, TfgCollectionViewStyles, TfgCustomCollectionView, TfgCustomComboBox, TfgCustomDateTimeControl, TfgCustomDrawerLayout, TfgCustomEdit, TfgGraphicControl, TfgCustomImage, TfgCustomLayout, TfgCustomListMenu, TfgCustomListView, TfgCustomMemo, TfgCustomNavigationBar, TfgCustomPageControl, TfgCustomProgressBar, TfgCustomSearchEdit, TfgCustomSpacer, TfgCustomLabel, TfgCustomTabBar, TfgCustomTabControl, TfgCustomToolBar, TfgCustomTrackBar, TfgCustomVideoControl, TfgCustomWebBrowser

Непрямые наследники: TfgActivityIndicator, TfgButton, TfgCollectionView, TfgComboBox, TfgCustomDateControl, TfgCustomTimeControl, TfgCustomCalendar, TfgCustomDateEdit, TfgCustomDatePicker, TfgCalendar, TfgDateEdit, TfgDatePicker, TfgCustomTimeEdit, TfgCustomTimePicker, TfgTimeEdit, TfgTimePicker, TfgDrawerLayout, TfgCustomAutoCompleteEdit, TfgEdit, TfgAutoCompleteEdit, TfgCustomPaintBox, TfgShape, TfgPaintBox, TfgCustomArc, TfgCustomCircle, TfgCustomEllipse, TfgCustomLine, TfgCustomRectangle, TfgCustomRegularPolygon, TfgCustomRhomb, TfgCustomSvgPath, TfgArc, TfgCustomArch, TfgCustomSector, TfgArch, TfgSector, TfgCircle, TfgEllipse, TfgLine, TfgRectangle, TfgRegularPolygon, TfgRhomb, TfgSvgPath, TfgImage, TfgCustomCardPanel, TfgCollectionViewStyle, TfgCustomComboBoxItem, TfgCustomDrawer, TfgCustomForm, TfgLayout, TfgCustomPage, TfgCustomScrollBox, TfgCardPanel, TfgComboBoxTextItem, TfgDrawer, TfgForm, TfgMainContent, TfgPage, TfgScrollBox, TfgListMenu, TfgListView, TfgMemo, TfgNavigationBar, TfgPageControl, TfgProgressBar, TfgSearchEdit, TfgSpacer, TfgCustomCheckBox, TfgCustomRadioButton, TfgLabel, TfgCustomSwitch, TfgCheckBox, TfgRadioButton, TfgSwitch, TfgTabBar, TfgTabControl, TfgToolBar, TfgTrackBar, TfgVideoControl, TfgWebBrowser

Описание

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

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

constructor
Create(AOwner: TComponent)

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

Методы

procedure
AfterConstruction()

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

procedure
BeforeDestruction()

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

function
IsLoading(): Boolean

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

function
IsCreating(): Boolean

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

function
IsDestroying(): Boolean

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

procedure
InsertControl(const AChild: TfgControl)

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

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()

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

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
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
UnsubscribeOnNotification(const AObserver: IFGXNotificationObserver; const ANotificationType: TfgNotificationType)

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

procedure
Notify(const ANotificationType: TfgNotificationType)

Уведомляет всех подписчиков, что произошло событие с типом ANotificationType .

Свойства

property
Index: Integer

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

property
Form: TfgControl

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

Контрол считается встроенным в форму, если по цепочке родителей можно добраться до экземпляра формы. Если одна форма встроена в другую, то вернет ссылку на ближайшую форму по цепочке родителей.
property
Controls: [[TList<FGX.Control.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
NaturalSize: TSizeF

Естественный размер контрола. Каждый контрол может сказать, какой размер ему необходим, чтобы нормально отобразить свое содержимое.

property
Stored: Boolean

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

property
TagObject: TObject

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

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
GestureKinds: TfgGestureKinds

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

property
LookupName: string

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

property
Opacity: Single

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

property
BackgroundName: TfgAssetName

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

property
Visible: Boolean

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

property
HitTest: Boolean

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

События

event
OnTap: TNotifyEvent

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

event
OnLongTap: TfgLongTapEvent

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

event
OnDestroy: TNotifyEvent

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

event
OnResized: TfgResizedEvent

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

event
OnPositionChanged: TfgPositionChangedEvent

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

event
OnPaint: TfgPaintEvent

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

event
OnTouch: Boolean

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

event
OnEnter: TNotifyEvent

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

event
OnExit: TNotifyEvent

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

Константы

const
DefaultAlignWithMargins: Boolean

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

const
DefaultOpacity: Integer

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

const
DefaultVisible: Boolean

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

const
DefaultHitTest: Boolean

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

const
DefaultStored: Boolean

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

const
DefaultLocked: Boolean

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

const
DefaultPositionMode: TfgPositionMode

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