FGX.Control.TfgControl: различия между версиями
Admin (обсуждение | вклад) (summary) |
Admin (обсуждение | вклад) (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)
Прямые наследники: 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 при вычислении размера контрола.
Данный расчет никак не влияет на текущее положение и размеры контрола и всех дочерних контролов.
|
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
Описание отсутствует. |