Рассмотрим свойства, которые имеют стандартные компоненты Kylix. Для начала
- основные свойства, которые присущи компонентам - наследникам класса TControl.
Кроме краткого описания свойства, мы будем приводить строку кода, описывающего
данное свойство внутри класса TControl. Это поможет вам понять, какой тип имеет
данное свойство.
Свойство Action предназначено для определения действия, связанного с элементом
управления (меню, кнопкой и т. д). Оно описывается в классе TControl следующим
образом:
property Action: TBasicAction;
Значение этого свойства устанавливается во время разработки приложения, путем
выбора из выпадающего списка предусмотренных действий. Данный список формируется
путем размещения на форме компонента TActionList и задания его свойств.
Свойство ActionLink устанавливает связь между элементом управления и действием,
определенным в свойстве Action. Оно описывается следующим образом:
property ActionLink: TControlActionLink;
Свойство Align предназначено для задания способа выравнивания компонента внутри
компонента контейнерного типа. Оно описывается так:
property Align: TAlign;
Перечислим возможные значения данного свойства:
aiNone - компонент остается на том месте, где он был размещен во время разработки
приложения. Данное значение присваивается свойству Align по умолчанию;
alTop - компонент занимает всю верхнюю часть компонента-контейнера. Во время
выполнения приложения ширина компонента зависит от ширины компонента-контейнера.
Высота компонента остается неизменной, независимо от высоты контейнера;
alBottom - аналогичен aiTop, за исключением того, что компонент занимает всю
нижнюю часть компонента-контейнера;
aliLeft - компонент занимает всю левую часть компонента-контейнера. Во время
выполнения приложения высота компонента зависит от высоты компонента-контейнера.
При изменении ширины компонента-контейнера ширина компонента остается неизменной;
alRight - аналогичен alLeft, за исключением того, что компонент занимает всю
правую часть компонента-контейнера;
alClient - компонент занимает всю клиентскую часть компонента-контейнера. При
изменении высоты и ширины компонента-контейнера изменяются высота и ширина компонента.
Если в клиентской части компонента контейнерного типа уже имеются другие компоненты,
то данный компонент занимает всю оставшуюся незанятой часть компонента-контейнера.
Примечание
Значения alTop и alBottom имеют больший приоритет по сравнению со значениями
alLef t и alRight. Таким образом, если вы вывели на форму два компонента, присвоив
свойству Align одного из них значение aiTop, а другому - alRight, то первый
компонент вытеснит верхнюю часть второго компонента (рис. 8.12).
Свойство Anchors предназначено для определения привязки компонента к родительскому
компоненту при изменении размеров родительского компонента. Оно определяется
следующим образом:
property Anchors: TAnchors;
Это свойство имеет тип множества (TAnchors), которое может содержать
такие элементы:
akTop - компонент привязан к верхнему краю родительского компонента;
akLeft - компонент привязан к левому краю родительского компонента;
akBottom - компонент привязан к нижнему краю родительского компонента; akRight
- компонент привязан к правому краю родительского компонента.
Рис. 8.12. Применение свойства Align
В случае, когда существует привязка к противоположным сторонам родительского
компонента, при изменении его размеров будет происходить сжатие или растяжение
дочернего компонента вплоть до полного исчезновения его изображения. Таким образом,
данное свойство определяет как бы фиксацию расстояния от компонента до краев
родительского компонента.
Свойство BoundsRect применяется для получения одновременно координат всех четырех
вершин компонента. Данное свойство определяется так:
property BoundsRect: TRect;
Примечание
Настоящие координаты можно получить из следующих свойств компонента: Left (левый
край компонента), Тор (верхний фай), width (ширина компонента) и Height (высота).
Описание этих свойств приводится ниже.
Таким образом, запись
R :=Control.BoundsRect;
эквивалентна записи
R.Tор := control.Top;
R.Left := Control.Left;
R.Right := Control.Left + Control.Width;
R.Bottom := Control.Top + Control.Height;
Началом координат считается левый верхний угол окна, содержащего данный компонент.
Свойство caption связывает с компонентом некоторую строку текста, поясняющую
его назначение. Данная строка является обычно заголовком компонента (заголовком
кнопки, метки, пункта меню и др.). Это свойство описывается следующим образом:
property Caption: TCaption;
По умолчанию свойство устанавливается таким же, как имя компонента (свойство
Name). Для пунктов меню и кнопок с помощью этого свойства можно задать кнопку
быстрого вызова, для чего перед символом кнопки быстрого вызова ставится символ
амперсанда (&). Например, для быстрого вызова меню Файл перед буквой "Ф"
в свойстве Caption данного пункта меню можно поставить знак амперсанда: &Файл.
При этом буква "Ф" в пункте меню станет подчеркнутой. Теперь для вызова
данного пункта меню пользователю будет достаточно воспользоваться комбинацией
клавиш <Alt>+<Ф>. Для того чтобы отобразить в заголовке символ &,
вы можете использовать такую запись: &&.
Свойство ciientHeight предназначено для установки или чтения высоты клиентской
области компонента. Это свойство описывается так:
property CiientHeight: Integer;
Оно применяется при изменении размеров компонента, которые содержат в себе другие
компоненты. При таком изменении будет происходить изменение компонентов, содержащихся
в компоненте-контейнере.
Свойство clientorigin предназначено для получения экранных координат (х и у)
левого верхнего угла клиентской области компонента. Началом координат является
верхний левый угол экрана. Возвращаемые координаты передаются в структуре типа
TPoint. Данное свойство предназначено только для чтения. Оно описано следующим
образом:
property ClientOrigin: TPoint;
Свойство clientRect возвращает координаты углов клиентской области компонента.
Данное свойство также предназначено только для чтения. Координаты возвращаются
в структуре типа TRect. Свойство описывается так:
property ClientRect: TRect;
Вместо вызова данного свойства можно воспользоваться свойствами Rect,
ClientWidth И CiientHeight (они описаны ниже):
Rect (0, 0, ClientWidth, ClientHeight)
Свойство clientwidth предназначено для установки или чтения горизонтального
размера клиентской области компонента. Данное свойство описано следующим образом:
property ClientWidth: Integer;
Свойство Color определяет цвет фона компонента. Значение данного свойства может
быть или числом, определяющим интенсивность трех основных цветов (красного,
зеленого и синего), или константой, определенной в Kylix (табл. 8.13).
Таблица 8.13. Константы цвета в среде Kylix
Константа | Цвет |
clNone | Бесцветный (белый) |
clBlack | Черный |
clMaroon | Темно-бордовый |
clGreen | Зеленый |
clOlive | Оливковый |
clNavy | Темно-синий |
clPurple | Пурпурный |
clTeal | Морской |
clGray | Серый |
clSilver | Серебристый |
clRed | Красный |
clLime | Лимонный |
clBIue | Синий |
clYellow | Желтый |
сlFuchsia | Сиреневый |
сl Aqua | Голубой |
clLtGray | Светло-серый |
clDkGray | Темно-серый |
clWhite | Белый |
clBackground | Базовый цвет фона |
clNormalBackground | Цвет фона для включенных неактивных компонентов |
clBase | Базовый цвет фона для текстовых компонентов |
clNormalBase | Цвет фона для включенных неактивных текстовых компонентов |
clDisabledBase | Цвет фона для отключенных текстовых компонентов |
clActiveBase | Цвет фона для активных текстовых компонентов |
clScrollBar | Цвет полос прокрутки |
clActiveCaption | Цвет фона полосы заголовка активного окна |
cllnactiveCaption | Цвет фона полосы заголовка неактивного окна |
clMenu | Цвет фона меню |
clWindow | Цвет фона окна |
clWindowFrame | Цвет рамки окна |
clMenuText | Цвет текста меню |
clWindowText | Цвет текста окна |
clCaptionText | Цвет текста заголовка в активном окне |
clActiveBorder | Цвет бордюра активного окна |
clInactiveBorder | Цвет бордюра неактивного окна |
clAppWorkSpace | Цвет рабочей области приложения |
clHighlight | Базовый цвет фона для выбранного или подсвеченного компонента |
clNormalHighlight | Цвет фона для включенных неактивных подсвеченных компонентов |
clDisabledHighlight | Цвет фона для отключенных подсвеченных компонентов |
clActiveHighlight | Цвет фона для активных подсвеченных компонентов |
clHighlight edText | Базовый цвет букв подсвеченного текста |
clNormalHighlightedText | Цвет букв включенных неактивных подсвеченных компонентов |
clDisabledHighlightedText | Цвет букв отключенных подсвеченных компонентов |
clActiveHighlight edText | Цвет букв отключенных подсвеченных компонентов |
clBtnFace | Цвет поверхности кнопки |
clBtnShadow | Цвет тени, отбрасываемой кнопкой |
clGrayText | Цвет текста недоступных элементов окна |
clBtnText | Цвет текста кнопки |
clInactiveCaptionText | Цвет заголовка в неактивном окне |
clBtnHighlight | Цвет выделенной кнопки |
cl3DDkShadow | Цвет темных теней трехмерных элементов окна |
cl3DLight | Светлый цвет на краях трехмерных элементов окна |
clInfoText | Цвет текста советов (всплывающих подсказок) |
clInfoBk | Цвет фона советов (всплывающих подсказок) - обычно светло-коричневый |
clHighlightText | Подсвеченный текст |
clForeground | Базовый цвет линий или текста |
clNormalForeground | Цвет линий или текста для включенных неактивных компонентов |
clDisabledForeground | Цвет линий или текста для отключенных компонентов |
clActiveForeground | Цвет линий или текста для активных компонентов |
clText | Базовый цвет букв |
clNormalText | Цвет букв для включенных неактивных текстовых компонентов |
clDisabledText | Цвет букв для отключенных текстовых компонентов |
clAetiveText | Цвет букв для активных текстовых компонентов |
clButton | Базовый цвет фона кнопок |
clNonnalButton | Цвет фона включенных неактивных кнопок |
clDisabledButton | Цвет фона отключенных кнопок |
clActiveButton | Цвет фона активных кнопок |
clButtonText | Базовый цвет букв кнопок |
clNormalButtonText | Цвет букв включенных неактивных кнопок |
clDisabledButtonText | Цвет букв отключенных кнопок |
elActiveButtonText | Цвет букв активных кнопок |
clBrightText | Базовый контрастный цвет букв |
clNormalBrightText | Контрастный цвет букв включенных неактивных компонентов |
clDisabledBrightText | Контрастный цвет букв отключенных компонентов |
clActiveBrightText | Контрастный цвет букв активных компонентов |
clLight | Базовый цвет для светлых областей в 30-эффектах |
clNormalLight | Цвет светлых областей в 30-эффектах для включенных неактивных компонентов |
clDisabledLight | Цвет светлых областей в 30-эффектах для отключенных компонентов |
clActiveLight Цвет | светлых областей в ЗО-эффектах для активных компонентов |
clMidlight | Базовый цвет для среднеосвещенных областей в 30-эффектах |
clNormalMidlight | Цвет среднеосвещенных областей в ЗО-эффектах для включенных неактивных компонентов |
clDisabledMidlight | Цвет среднеосвещенных областей в ЗО-эффектах для отключенных компонентов |
clActiveMidlight | Цвет среднеосвещенных областей в ЗО-эффектах для активных компонентов |
clMid | Базовый цвет для темных областей в ЗО-эффектах |
clNormalMid | Цвет темных областей в ЗО-эффектах для включенных неактивных компонентов |
clDisabledMid | Цвет темных областей в ЗО-эффектах для отключенных компонентов |
clActiveMid | Цвет темных областей в ЗО-эффектах для активных компонентов |
clDark | Базовый цвет для очень темных областей в ЗО-эффектах |
clNormalDark | Цвет очень темных областей в ЗО-эффектах для включенных неактивных компонентов |
clDisabledDark | Цвет очень темных областей в ЗО-эффектах для отключенных компонентов |
clActiveDark | Цвет очень темных областей в ЗО-эффектах для активных компонентов |
clShadow | Базовый цвет тени в ЗО-эффектах |
сINormal Shadow | Цвет тени в ЗО-эффектах для включенных неактивных компонентов |
clDisabledShadow | Цвет тени в ЗО-эффектах для отключенных компонентов |
clActiveShadow | Цвет тени в ЗО-эффектах для активных компонентов |
Данные константы цвета, начиная с ciBackground, определяются той цветовой
схемой X-Windows, которая установлена пользователем на конкретном компьютере.
Эти цвета рекомендуется использовать при разработке приложений для передачи
третьим лицам.
Свойство components хранит в себе массив компонентов, владельцем ко-fc торых
является данный компонент. Параметр свойств index позволяет выбрать любой компонент
из массива, благодаря свойству Component index (см. далее). Индексы компонентов
нумеруются, начиная с нуля. Число компонентов, содержащихся в массиве, можно
определить с помощью свойства componentcount (см. далее).
Свойство component index определяет индекс (порядковый номер) компонента, содержащегося
в компоненте-контейнере, а свойство Componentcount - число компонентов, входящих
в данный компонент контейнерного типа.
Рассмотрим пример применения данных свойств. Предположим, что на форме имеется
несколько компонентов. Задача - сместить все компоненты, которые присутствуют
на форме, кроме компонента Buttoni, вправо на 10 единиц. Для этого можно использовать
следующий код:
for i := 0 to Componentcount - 1 do
if (Components[i].Name <> 'Buttoni') then
(Components[i] as TControl).Left: = (Components[i] as TControl).Left + 10;
Свойство constraints определяет размер ограничений, т. е. максимальную и минимальную
величины ширины и длины компонента. Оно описывается следующим образом:
property Constraints: TSizeConstraints;
Примечание
Не устанавливайте данное свойство, если вы используете свойства Align или Anchors,
т. к. это может привести к конфликту свойств и неправильной работе - приложения.
Свойство controistate предназначено для определения текущего состояния компонента
во время выполнения приложения. Данное свойство описано следующим образом:
property Controistate: TControlState;
Значение свойства controlState состоит из набора флагов, обозначения которых
приведены в табл. 8.14.
Таблица 8.14. Флаги значения свойства ControдStyle
Флаг | Значение |
csLButtonDown | Левая кнопка мыши нажата |
csClicked | To же, что и csLButtonDown, но устанавливается
только в случае, если в свойстве ControlStyle также установлен флагcsClickEvents |
csPalette | Палитра изменена, и элемент управления не закончил регулировку этой палитры |
csReadingState | Элемент управления считывает свое состояние из потока |
csAlignmentNeeded | Элемент управления нуждается в перестроении |
csFocusing | Приложение обрабатывает сообщения, предназначенные для передачи фокуса элементу управления. Данный флаг не гарантирует, что элемент управления получит фокус, но предотвращает рекурсивные вызовы |
csCreating | Элемент управления и (или) его владелец начинают создаваться. Данный флаг сбрасывается после завершения процесса создания |
csPaintCopy | Элемент управления начинает копирование (собственное) |
csCustomPaint | Элемент управления обрабатывает выбранные сообщения о закрашивании |
csDestroyingHandle | Окно элемента управления находится в процессе уничтожения |
csDocking | Элемент управления начинает устанавливаться |
csRecreating | Основное окно Qt начинает создаваться |
csWidgetPaint ing | Основное окно Qt в процессе перерисовки |
Свойство controistyie определяет различные атрибуты компонента. Например,
может ли компонент быть захвачен мышью, имеет ли компонент фиксированные размеры
и др. Данное свойство определяет не экземпляра ры класса, а класс в целом. Оно
описано следующим образом:
property ControlStyle: TControlStyle;
Значение данного свойства также состоит из флагов (табл. 8.15).
Таблица 8.15. Флаги значения свойства Controlstyle
Флаг | Значение |
CsAcceptsControls | Элемент управления получает своего предка от одного из компонентов, созданных во время разработки приложения |
CsCaptureMouse | Элемент управления перехватывает событие нажатия кнопки мыши |
CsDesignlnteractive | Элемент управления преобразует щелчки правой кнопкой мыши во время разработки приложения в щелчки левой кнопкой мыши |
CsClickEvents | Элемент управления может принимать и обрабатывать щелчки мыши |
Cs Framed | Элемент управления имеет вид трехмерной рамки |
CsSetCaption | Значение свойства Caption элемента управления должно соответствовать значению свойства Name этого же элемента управления, если оно не было явно установлено в какое-то другое значение |
CsOpaque | Элемент управления полностью занимает клиентскую прямоугольную область |
CsDoubleClick | Элемент управления может принимать и обрабатывать двойные щелчки мыши. Иными словами, преобразовывать двойные щелчки в одинарные |
CsFixedWidth | Ширина элемента управления не может быть изменена |
CsFixedHeight | Длина элемента управления не может быть изменена |
CsNoDesignVisible | Элемент управления является невидимым при разработке приложения |
CsReplicatable | Элемент управления может быть скопирован с помощью метода Paint То |
CsNoStdEvents | Стандартные события, такие как щелчки мыши, нажатие клавиш клавиатуры и др., игнорируются приложением. Установка данного флага позволяет приложению работать быстрее и применяется в тех случаях, когда обработки стандартных событий не требуется |
CsDisplayDraglmage | Элемент управления может содержать изображение из списка изображений |
CsActionClients | Элемент управления привязан к объекту типа TBasicAction. Этот флаг устанавливается, если у элемента управления используется свойство Action, и сбрасывается в противном случае |
CsMenuEvents | Элемент управления реагирует на команды системного меню |
Свойство cursor определяет вид указателя мыши, когда он находится над данным
компонентом. Оно описывается следующим образом:
property Cursor:TCursor;
В свою очередь, тип TCursor описан так:
type TCursor = -32768 .. 32768;
Kylix имеет встроенные виды указателей. Кроме встроенных, разработчик может
помещать в приложение собственные виды указателя мыши. В табл. 8.16 приводятся
встроенные типы указателей мыши.
Таблица 8. 16. Указатели мыши
Значение свойства Cursor | Числовое значение | Изображение указателя мыши |
CrDefault | 0 | Указатель, принятый по умолчанию. Обычно это crArrow |
CrNone | -1 | Без изображения указателя |
CrArrow | -2 | Стрелка |
CrCross | -3 | Крест |
CrlBeam | -4 | Указатель в виде курсора для ввода текста |
CrSize | -22 | Указатель изменения размера окна |
CrSizeNESW | -6 | Указатель изменения размера окна в правом верхнем углу или в левом нижнем |
CrSizeNS | -7 | Указатель изменения размера окна вверху или внизу (по вертикали) |
CrSizeNWSE | -8 | Указатель изменения размера окна в левом верхнем углу или в правом нижнем |
CrSlzeWE | -9 | Указатель изменения размера окна слева или справа (по горизонтали) |
CrUpArrow | -10 | Стрелка вверх |
CrHourGlass | -11 | Песочные часы |
CrDrag | -12 | Перетаскивание компонента |
CrNoDrop | -13 | Указатель, показывающий невозможность переноса компонента в данную область |
CrHSplit | -14 | Горизонтальный сплиттер |
CrVsplit | -15 | Вертикальный сплиттер |
CrMultiDrag | -16 | Перетаскивание нескольких компонентов |
CrSQLWait | -17 | Ожидание выполнения SQL-запроса |
CrNo | -18 | Указатель, показывающий невозможность действия |
CrAppStart | -19 | Ожидание старта приложения (стрелка с песочными часами) |
CrHelp | -20 | Стрелка с вопросом |
CrHandPoint | -21 | Указатель в форме руки |
Свойство DragMode определяет поведение компонента в процессе его перетаскивания.
Свойство описывается следующим образом:
property DragMode: TDragMode;
Данное свойство может принимать одно из двух значений: dmAutomatic или dmManuai.
В первом случае от разработчика не требуется обработки событий. Достаточно щелкнуть
кнопкой мыши на компоненте и начать его перетаскивание. Во втором случае компонент
не может начать процесс перетаскивания, пока приложение не вызовет метод BeginDrag.
Свойство DragObject содержит значение, определяющее объект перетаскивания, ассоциированный
с элементом управления. Данное свойство описано так:
property DragObject: TDragObject;
Оно предназначено только для чтения и используется в основном при создании собственных
компонентов.
Свойство Enabled показывает, будет ли компонент доступен пользователю во время
работы приложения. Это свойство описывается следующим образом:
property Enabled: Boolean;
Недоступный компонент (Enabled = false) отображается серым цветом. Он игнорирует
события клавиатуры, мыши и таймера. Данное свойство .подменяется для временного
ограничения доступа пользователя к компонентам. Например, если вы хотите сделать
временно недоступной кнопку, нужно в свойстве Enabled кнопки установить значение
false:
Buttonl.Enabled := false;
Свойство Font предназначено для установки шрифта, а также всех его атрибутов
(размера, стиля, цвета и т. д.). Описано так:
property Font: TFont;
Свойство Height применяется для задания высоты компонента. Описывается это свойство
так:
property Height: Integer;
Свойство HelpContext определяет номер, используемый в контекстно-зависимой справке.
То есть задается номер страницы справки, которая будет отображаться на экране,
когда пользователь нажмет клавишу <F1>. Данное свойство описано следующим
образом:
property HelpContext: THelpContext;
Свойство HelpFile описано следующим образом:
property HelpFile: String;
Данное свойство содержит имя файла, который будет использоваться приложением
в качестве файла контекстно-зависимой справки.
Свойство HeipKeyword предназначено для осуществления поиска в файле контекстно-зависимой
справки по ключевому слову. Данное свойство описано следующим образом:
property HelpKeyword: String;
Свойство Hint применяется для задания текста всплывающей подсказки. Это свойство
описано так:
property Hint: String;
Данное свойство обычно состоит из двух частей, разделяемых символом "I".
Например,
Buttonl.Hint := "Открыть | Выбор и открытие файла рисунка";
В данном случае при наведении указателя мыши на кнопку Button1 будет выдана
всплывающая подсказка "Открыть", вторая часть подсказки будет выведена
в специальную область, отведенную для таких подсказок, например на панель состояния.
Разработчик может пользоваться только первой частью подсказки, без использования
символа "|". Кроме того, для отображения всплывающих подсказок нужно
дополнительно установить свойство showHint в true (см. далее).
Свойство Left применяется для задания координаты левого края компонента. За
начало координат всех компонентов берется левый верхний угол клиентской области
родительского компонента. Для форм началом координат является левый верхний
угол экрана.
Данное свойство описано следующим образом:
property Left: Integer;
Свойство Mousecapture используется для определения факта захвата мышью элемента
управления. Данное свойство имеет логический тип и описано следующим образом:
property MouseCapture: Boolean;
Если элемент управления захвачен мышью - возвращается True, иначе - False.
Свойство Name определяет имя компонента, по которому на него ссылаются другие
компоненты и которое в дальнейшем используется разработчиком. Данное свойство
описано так:
property Name: TComponentName;
Имя задается в процессе разработки программы и не должно изменяться во время
работы программы. Kylix по умолчанию самостоятельно дает имена новым компонентам,
например: Button1, Button2, Label1 и т. п. Рекомендуется изменять эти имена
на более осмысленные.
Свойство Parent определяет родительский компонент контейнерного типа, в пределах
которого располагается данный компонент. Это свойство описано следующим образом:
property Parent: TWidgetControl;
Примечание
Важно различать два похожих свойства. Свойство Parent определяет родительский
компонент, т. е. тот компонент, на котором располагается данный компонент. Свойство
Owner определяет владельца компонента. Владелец - это компонент, который передается
в качестве параметра в конструктор данного компонента и который владеет им.
Например, форма является владельцем всех расположенных на ней компонентов и
одновременно - родителем.
Свойство ParentColor указывает, будет ли данный компонент иметь такой же цвет,
как и его предок. Свойство описано так:
property ParentColor: Boolean;
Если вы хотите, чтобы компонент унаследовал значения цвета от своего предка,
то установите данное свойство в true. Если это свойство будет иметь значение
False, компонент будет использовать цвета, заданные в его собственных свойствах.
Свойство Parent Font предназначено для определения, будет ли для данного компонента
использоваться шрифт, применяемый в родительском компоненте контейнерного типа.
Например, если на форме находится кнопка, то при установке у данной кнопки свойства
Parent Font в true приведет к тому, что надпись на кнопке будет выполнена тем
шрифтом, который указан в свойстве Font формы. Данное свойство описано так:
property ParentFont: Boolean;
О Свойство ParentshowHint предназначено для включения и выключения родительского
свойства showHint. Оно описано следующим образом:
property ParentshowHint: Boolean;
Данное свойство используется для одновременного разрешения или запрещения показа
всплывающих подсказок в пределах некоторой формы или компонента контейнерного
типа.
Свойство PopupMenu служит для сопоставления с данным компонентом всплывающего
по щелчку правой кнопки мыши меню. Данное свойство описано так:
property PopupMenu: TPopupMenu;
Свойство ScalingFiags служит для определения, какие атрибуты элемента управления
могут изменять размеры (масштабироваться). Данное свойство описано следующим
образом:
property ScalingFiags: TScalingFlags;
Тип TScalingFlags представляет собой набор флагов, которые описаны в табл. 8.17.
Таблица 8.17. Флаги TScalingFlags
Флаг | Значение |
sfLeft | Левая сторона элемента управления не может масштабироваться |
sfTop | Верх элемента управления не может масштабироваться |
sf Width | Ширина элемента управления не может масштабироваться |
sfHeight | Высота элемента управления не может масштабироваться |
sfFont | Шрифт элемента управления не может масштабироваться |
Свойство showHint применяется для включения или выключения показа всплывающих
подсказок при задержке указателя мыши над компонентом. Текст подсказки задается
в свойстве Hint. Свойство showHint описано следующим образом:
property ShowHint: Boolean;
Свойство Text предназначено для задания или чтения строки текста, связанной
с данным компонентом. Данное свойство описано так:
property Text: TCaption;
Это свойство применяется в компонентах типа TEdit и в компонентах-списках.
Свойство тор применяется для задания или чтения значения, определяющего координату
верхнего края компонента. Данное свойство описано следующим образом:
property Top: Integer;
Свойство visible применяется для определения, будет ли виден компонент на форме
во время выполнения программы. Оно описано так:
property Visible: Boolean;
Если свойство имеет значение true, то компонент будет виден, иначе - невидим.
Свойство Width применяется для установки горизонтального размера компонента,
а также для чтения текущего значения ширины компонента. Данное свойство имеет
целый тип и описано следующим образом:
property Width: Integer;
Рассмотрим теперь свойства, характерные для класса TWidgetcontroi и его наследников.
Свойство Bitmap служит для задания растрового изображения, которое отображается
как фоновый рисунок элемента управления. Данное свойство в классе TWidgetcontroi
описано следующим образом:
property Bitmap: TBitmap;
Свойство Brush предназначено для установки цвета и кисти для закраски фонового
изображения элемента управления. Данное свойство описано так:
property Brush: TBrush;
Свойство ChildHandle возвращает ссылку на элемент управления. Данная ссылка
является дескриптором дочернего окна, который применяется, когда происходит
вызов родительского окна. Свойство используется только для чтения и описано
следующим образом:
property ChildHandle: QwidgetH; library;
Свойство controicount возвращает число дочерних элементов управления от данного.
Оно описано так:
property ControlCount : Integer;
Это свойство применяется только для чтения. Значение, хранящееся в данном свойстве,
всегда на единицу больше, чем самый последний индекс дочернего элемента (см.
свойство controls ниже), т. к. первый индекс всегда равен нулю.
Свойство controls представляет собой массив, содержащий список всех дочерних
элементов управления по отношению к данному элементу. Это свойство описывается
следующим образом:
property Controls [Index: Integer]: TControl;
Примечание
Не путайте свойство Controls со свойством Components. Свойство Controls содержит
список всех дочерних окон от данного, а свойство Components - список всех компонентов,
владельцем которых этот компонент является.
Данное свойство применяется только для чтения. Для добавления или удаления дочерних
элементов управления используйте соответствующие методы InsertControl И RemoveControl.
Свойство Handle обеспечивает доступ к дескриптору окна элемента т управления.
Описано следующим образом:
property Handle: QWidgetH read GetHandle; library;
Данное свойство применяется только для чтения.
Свойство InputKeys определяет тип клавиш, которые могут применяться для ввода,
информации внутри данного элемента управления при получении им фокуса. Свойство
описано следующим образом:
property InputKeys: TInputKeys;
Стоит сказать несколько слов о типе TInputKeys. Этот тип представляет colt-бой
перечисляемый тип, значения которого показаны в табл. 8.18.
Таблица 8.18. Значения типа TInputKeys
Значение | Описание |
ikAll | Ввод любых символов клавиатуры |
ikArrows | Клавиши со стрелками (<влево>, <вправо>, <вверх>, <вниз>) |
ikChars | Любые нефункциональные клавиши без <Ctrl> и <Alt> |
ikReturns | Клавиша ввода (<Enter>) |
ikTabs |
Клавиша табуляции (<ТаЬ>) и комбинация клавиш обратной табуляции (<Shift>+<Tab>) |
ikEdit | Клавиши редактирования (<Backspace>, <lnsert>, <Detete>) |
ikNav | Клавиши навигации по тексту (<вверх>, <вниз>, <влево>, <вправо>, <Home>, <End>, <PageUp>, <PageDown>) |
ikEsc | Клавиша <Esc> |
Свойство Masked включает или выключает свойство Automask для отображения непрямоугольных
окон. Описано следующим образом:
property Masked: Boolean;
Принимает значение True, если окно имеет непрямоугольную форму.
Свойство Palette хранит значение текущей палитры, которая используется для рисования
данного элемента управления. Описано следующим образом:
property Palette: TWidgetPalette;
Свойство ParentWidget служит для ссылки на родительский элемент управления,
т. е. на дескриптор окна родителя данного элемента управления. Описано следующим
образом:
property ParentWidget: QWidgetH;
Свойство style предназначено для задания стиля компонента. Описано так:
property Style: TWidgetStyle;
Свойство TabOrder применяется для задания последовательности перехода от одного
компонента формы к другому при помощи клавиши <Таb>. Свойство описано
следующим образом:
property TabOrder: TTabOrder;
Нумерация осуществляется, начиная с нуля. Если задать свойству TabOrder компонента
значение -1, этот компонент не сможет получить фокус при помощи клавиши <Таb>.
Предположим, что на форме расположены три кнопки: Button1, Button2 и Button3.
Для того чтобы фокус между этими кнопками передавался следующим образом: сначала
активна кнопка Button2, Затем - Button1 и потом уже Button3, нужно
установить свойство TabOrder для кнопки Button1 равным 1, для Button2
- 0, а для Button3 - 2.
Свойство Tabstop применяется для указания возможности передачи фокуса на компонент
при помощи клавиши <Таb>. Оно описывается следующим образом:
property TabStop: Boolean;
Если значение данного свойства равно true, то при помощи клавиши <Таb>
можно передать фокус этому компоненту, в зависимости от его свойства TabOrder.
Если значение свойства Tabstop равно false, то независимо от свойства TabOrder
фокус будет невозможно передать при помощи клавиши <Таb>.
Релятивисты и позитивисты утверждают, что "мысленный эксперимент" весьма полезный интрумент для проверки теорий (также возникающих в нашем уме) на непротиворечивость. В этом они обманывают людей, так как любая проверка может осуществляться только независимым от объекта проверки источником. Сам заявитель гипотезы не может быть проверкой своего же заявления, так как причина самого этого заявления есть отсутствие видимых для заявителя противоречий в заявлении.
Это мы видим на примере СТО и ОТО, превратившихся в своеобразный вид религии, управляющей наукой и общественным мнением. Никакое количество фактов, противоречащих им, не может преодолеть формулу Эйнштейна: "Если факт не соответствует теории - измените факт" (В другом варианте " - Факт не соответствует теории? - Тем хуже для факта").
Максимально, на что может претендовать "мысленный эксперимент" - это только на внутреннюю непротиворечивость гипотезы в рамках собственной, часто отнюдь не истинной логики заявителя. Соответсвие практике это не проверяет. Настоящая проверка может состояться только в действительном физическом эксперименте.
Эксперимент на то и эксперимент, что он есть не изощрение мысли, а проверка мысли. Непротиворечивая внутри себя мысль не может сама себя проверить. Это доказано Куртом Гёделем.
Понятие "мысленный эксперимент" придумано специально спекулянтами - релятивистами для шулерской подмены реальной проверки мысли на практике (эксперимента) своим "честным словом". Подробнее читайте в FAQ по эфирной физике.