FGX.Control.TfgControl: различия между версиями
Admin (обсуждение | вклад) (summary) |
Admin (обсуждение | вклад) (summary) |
||
Строка 24: | Строка 24: | ||
| <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> | <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> | ||
|} | |} |
Версия 02:00, 13 июня 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 . |