Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
среда Делфи.doc
Скачиваний:
14
Добавлен:
10.11.2019
Размер:
210 Кб
Скачать
☆

Общие свойства компонентов

Align — задает тип выравнивания компонента внутри родительского компонента

alNone

Выравнивание не используется. Компонент располагается на том месте, куда был помещен во время проектирования формы.

alTop, alBottom, alLeft, alRight, alClient

Свойство Align может быть полезно в ряде случаев, когда требуется, чтобы компо­нент располагался в определенной части формы вне зависимости от ее размера. Во время выполне­ния программы этим свойством обладают все интерфейсные элементы.

Использование свойства Align позволяет избежать «пустых» мест на форме. При проектировании любого окна приложения (особенно главного) старайтесь не допускать пустых пространств, это свидетельствует о непрофессионализме разработчика. На рисунках изображены две, в общем-то, идентичные формы, только одна из них правильно спроектирована (рис. 3), а другая нет (рис. 4).

Рис.3. RichEdit1.Align:=alClient.

Рис.4. RichEdit1.Align:=alNone.

Положите на форму еще одну панель и установите значение ее свойства Align:=alClient. Все компо­ненты, помещенные до этой панели, спрячутся под ней. Как уже говорилось, неоконные ком­по­ненты типа меток заведомо будут невидимы, поскольку они располагаются в Z-последовательно­сти заведомо ниже любых оконных компонентов, к которым принадлежит панель. А вот видимо­стью других оконных компонентов — панелей, кнопок, окон редактирования — можно управлять. Это дела­ется командами меню Edit  Bring To Front и Edit  Sent To Back (либо команды Control  Bring To Front и Control  Sent To Back во всплывающем меню). Первая из этих команд пере­ме­щает выделенный оконный компонент на верх Z-последовательности, и он начинает загораживать все другие оконные компоненты. А вторая команда перемещает выделенный компонент на самый низ Z-последовательности.

Найти любой «пропавший» компонент можно, выбрав его имя в выпадающем списке вверху Инспектора Объектов, либо в окне Дерева Объектов.

Начиная с Delphi 4, оконные компоненты имеют свойство Anchors:

Anchors — задает привязку к родительскому компоненту при изменении размеров последнего.

akTop

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

akLeft, akRight, akBottom

Установите true для каждого из указанных элементов. Запустите приложение и максимизируйте окно, — ваша панель растянется, так как в этом случае выдерживаются расстояния от сторон роди­тельского компонента.

Color — задает цвет фона формы или цвет компонента.

clBlack ...

Черный цвет.

clBackground ...

Текущий цвет фона окна.

Цвета делятся на две группы: статические —желтый, красный и т.п., и системные — цвета, опреде­ляемые текущей схемой Windows (например, clWindow — текущий цвет фона окна).

По умолчанию цвет всех компонентов устанавливается вполне разумно, и менять его стоит лишь при особой необходимости. А применение статических цветов вообще стоит ограничить, чтобы не создать приложение, не гармонирующее с текущей схемой. Но уж если по каким-то соображениям вам надо задать статический цвет, старайтесь использовать базовый набор из 16 цветов. Если вы по­пытаетесь использовать 256 (или, что еще хуже, 16 миллионов) цветов, это может замедлить работу вашего приложения, или оно будет выглядеть плохо на машине пользователя с 16 цветами. К тому же следует учитывать, как будет выглядеть ваше приложение на монохромном дисплее.

Неудачное цветовое решение может приводить к быстрому утомлению пользователя, работающего с вашим приложением, к рассеиванию его внимания, к частым ошибкам. Надо стремиться использо­вать ограниченный набор цветов и уделять внимание их правильному сочетанию. Цвет не должен использоваться в качестве основного средства передачи информации. Для этого можно применять различные панели, формы, штриховку и прочие методики выделения областей экрана. Microsoft даже рекомендует разрабатывать приложения сначала в черно-белом варианте, а уже потом добав­лять к нему цвет.

Резюме: не злоупотребляйте в приложении яркими цветами. Пестрое приложение — обычно при­знак дилетантизма разработчика, утомляет пользователя. Как правило, используйте системные цвета, которые пользователь может перестраивать по своему усмотрению. Из статических цветов имеет смысл использовать только черный, белый и красный цвет предупреждения об опасности.

Ctl3D — задает вид компонента

False

Компонент имеет двумерный вид.

True

Компонент имеет трехмерный вид. В этом случае используется библиотека Ctl3D фирмы Microsoft.

Обычно значение этого свойства никогда не меняют (по умолчанию оно имеет значение true).

Cursor — определяет вид курсора мыши, который будет отображаться, когда курсор находится в актив­ной области компонента

crDefault, crCross, crArrow, …

Изменение изображения указателя мыши при перемещении его в области компонента указывает пользователю на действия, которые он при этом может совершить.

Поменяйте значение этого свойства на любое значение, отличное от данного по умолчанию, и запустите приложение. При попадании ука­зателя мыши на панель, для которой вы установили данное свойство, вид указателя сменится в со­ответствии с заданным.

Следующие три свойства служат для поддержки протоколов Drag&Drop и Drag&Dock.

Drag&Drop — технология перетаскивания с помощью мыши информации из одного объекта в другой. Использование данного протокола получила широкое распространение в Windows. Например, вы можете перемещать файлы между папками, перемещать сами папки и т.д.

Drag&Dock — технология перетаскивания и встраивания оконных объектов. Например, эта технология применяется в создании панелей инструментов в Word’е.

DragCursor — определяет вид курсора мыши, который будет отображаться, когда в компонент “перетаскивается” другой компонент

Значения этого свойства те же, что и у свойства Cursor.

DragKind — определяет будет ли компонент перетаскиваться по технологии Drag&Drop или по техноло­гии Drag&Dock

dkDrag

Компонент перетаскивается обычным образом (по технологии Drag&Drop).

dkDock

Компонент будет перетаскиваться для встраивания (по технологии Drag&Dock).

DragMode — позволяет определить режим поддержки протокола drag–and–drop

DmAutomatic

Компонент можно перетаскивать, “зацепив” мышью.

DmManual

Компонент не может быть “перетащен” без вызова метода BeginDrag.

Enabled — определяет доступность компонента для пользователя.

True

Компонент реагирует на сообщения от мыши, клавиатуры и таймера.

False

Компонент игнорирует эти сообщения.

Font — определяет атрибуты шрифта

К атрибутам шрифта относятся, например, CharSet (задает множество символов, например, ANSI_CHARSET, RUSSIAN_CHARSET), Color, Name, Size.

По умолчанию для всех компонентов Delphi задается имя шрифта MS Sans Serif и размер 8. Кон­станта множества символов Charset задается равной DEFAULT_CHARSET, это означает, что шрифт выбирается только по его имени и размеру. Если описанный шрифт недоступен в системе, то Windows заменит его другим шрифтом.

Чаще всего эти установки по умолчанию можно не изменять. Если вы все-таки решите это сделать, то нужно быть очень осторожными. Дело в том, что шрифт, установленный на вашем компьютере, не обязательно должен иметься и на компьютере пользователя. Поэтому использование какого-то экзотического шрифта может привести к тому, что пользователь, запустив ваше приложение на своем компьютере, увидит вместо русского текста абракадабру. Чтобы избежать таких казусов, вам придется прикладывать к своему приложению еще и файлы использованных шрифтов и пояснять пользователю, как он должен установить их на своем компьютере, если они там отсутствуют.

Другой выход — ввести в приложение команду выбора шрифтов пользователем. Это позволит ему выбрать подходящий шрифт из имеющихся в его системе.

Использование шрифтов по умолчанию: System или MS Sans Serif, чаще всего позволяет избежать подобных неприятностей. Однако, если вы используете для надписей русские тексты, то при запуске приложения на компьютере с нерусифицированной Windows возможны неприятности. В этом слу­чае лучшим выходом является англоязычная версия вашего программного продукта.

Height, Width, Left, Top — характеризуют размер и положение компонента

Height, Width

Вертикальный (горизонтальный) размер компонента или формы в пикселях.

Left, Top

Горизонтальная (вертикальная) координата левого верхнего угла интерфейсного элемента относительно формы в пикселях. Для форм это значение указывается относительно экрана.

С особой осторожностью следует относиться к размерам форм, кнопок, так как неоправданное их уменьшение/увеличение может привести к катастрофическим последствиям при использовании ва­шего приложения на экране с более высоким/низким разрешением.

Значения свойств Left и Top ведут свой отсчет от левого верхнего угла родительского компонента. Координаты формы — от левого верхнего угла экрана.

HelpContext — задает номер контекста справочной системы

Этот номер должен быть уникален для каждого компонента. Если компонент активен (находится в фокусе), нажатие клавиши F1 приводит к отображению экрана справочной системы (если такой существует для дан­ного компонента).

Раз уже мы затронули тему помощи, то следует сказать, что среда разработки Delphi имеет хорошо развитую справочную систему. Если вы захотите получить справку по какому-либо конкретному компоненту, достаточно отметить его указателем мыши и нажать клавишу F1 — вызовется часть справочной системы Delphi, относящаяся к указанному компоненту. Справочная система Delphi содержит большое количество примеров кода, которые можно использовать при написании программ.

Hint — задает текст подсказки

Текст отображается при обработке события OnHint, происходящего, если курсор находится в области ком­понента.

Это свойство начинает работать при установлении значения true свойства ShowHint.

Правила хорошего тона пред­полагают наличие подобных ярлычков у всех управляющих элементов приложения. Ничто так не раздражает пользователя как кнопка с непонятным рисунком и без ярлычка–подсказки — нажав ее он рискует получить в ответ, в самом крайнем случае, форматирование системного диска.

Задайте какой-либо текст в поле значения Hint, например «Это панель», запустите приложение. При задержке указателя мыши на панели появится ярлычок «Это панель».

Свойства, начинающиеся со слова Parent, служат для унификации свойств родительского и дочер­них компонентов.

ParentColor — компонент имеет цвет родительского компонента

True

Компонент использует цвет родительского компонента (значение свойства Color) .

False

Компонент использует значение собственного свойства Color.

С помощью этого свойства можно добиться того, что все компоненты, расположенные в форме бу­дут иметь единую цветовую гамму. При установке уникального цвета компонента значение свойства ParentColor автоматически изменится на False.

ParentCtl3D — трехмерность

True

Вид компонента задается значением свойства Ctl3D его владельца.

False

Вид компонента задается значением его собственного свойства Ctl3D.

ParentFont — определение используемого компонента шрифта

PopupMenu — задание названия локального меню, которое будет отображаться при нажатии правой кнопки мыши

Локальное меню отображается только в случае, когда свойство AutoPopup имеет значение True или когда вызывается метод Popup .

Локальное меню могут иметь почти все компоненты. Более того, в зависимости от проводимых дей­ствий локальное меню может быть разным для одного и того же компонента. Пункты локального меню не обязательно дублируют пункты главного меню.

TabOrder — задает порядок получения компонентами фокуса при нажатии клавиши Tab

По умолчанию этот порядок определяется размещением компонентов в форме (первый компонент имеет значение 0, компонент с этим номером получает фокус при отображении формы) .

Свойства TabOrder может использоваться только совместно со свойством TabStop.

TabStop — позволяет указать, может компонент получать фокус или нет

Компонент получает фокус, если значение его свойства TabStop есть True.

Все компоненты, имеющие значение true свойства TabStop имеют номер, который задает порядок обращения к данному компоненту (он напрямую связан с Z-последовательностью). Порядок обра­щения к компонентам из этой последовательности можно изменить не только через свойство TabOrder, но и непосредственно редактируя список, содержащий имена данных компонентов. Вызвать этот список можно, например, Edit  Tab Order, либо выбрать пункт Tab Order в локальном меню проектируемой формы.

Tag — позволяет “привязать” к любому компоненту значение типа LongInt

Не имеет никакого предопределенного смысла. Его может использовать программа для хранения некоторого целого числа и обрабатывать (считывать или модифицировать) в процессе выполнения про­граммы.

Visible — позволяет определить, видим ли компонент на экране

Значением этого свойства управляют методы Show и Hide.