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

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

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позволяет определить режим поддержки протокола draganddrop

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.