Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Delphi_1курс лекции / Тема 04 Компоненты ввода и отображения.doc
Скачиваний:
54
Добавлен:
23.03.2015
Размер:
194.56 Кб
Скачать

Компонент StaticText(меткаcбордюром)

Страница Additional

Метка, отображающая текст с возможностью задания стиля обрамления.

Имеет те же основные свойства, свойства позиционирования, свойства визуализации и активации, что и метка.

В метке TStaticText автоматически осуществляется перенос длинного текста по словам, если значение AutoSize установлено в false и размер компонента достаточен для размещения нескольких строк.

Свойства

BorderStyle:TStaticBorderStyle, где TStaticBorderStyle = (sbsNone, sbsSingle, sbsSunken); – определяет рамку текста – бордюр. При стиле BorderStyle = sbsNone метка TStaticText по виду не отличается от метки TLabel. Вероятно, если уж использовать бордюр, то наиболее приятный стиль BorderStyle = sbsSunken.

BevelInner TPanelBevel, где TPanelBevel = (bvNone, bvLowered, bvRaised, bvSpace)cтиль обрамления метки, гдетип, bvLowered – вогнутая, bvRaised – выпуклая форма метки;

BevelOuter: TPanelBevel; стиль внешней части метки

Компонент Panel (панель)

Страница Standard

Панель - контейнер для группировки других компонентов. Может использоваться также как компонент отображения текста с возможностями объемного оформления.

Основное назначение панелей - визуальное объединение различных элементов интерфейса (кнопок, окон редактирования, списков), функционально связанных друг с другом. Такая функциональная связь должна поддерживаться и зрительной связью - объединением соответствующих элементов в рамках одной панели.

Имеет те же основные свойства, свойства позиционирования, свойства визуализации и активации, что и метка.

Свойства

AutoSize:booleanопределяет, будут ли размеры панели автоматически подстраиваться под размещенные в ней компоненты (по умолчаниюfalse).

Имеют свойства оформления бордюра:

BorderStyle: TBorderStyle, где TBorderStyle = bsNone..bsSingle определяет рамку текста – бордюр.

BevelInner: TPanelBevel, где TPanelBevel = (bvNone, bvLowered, bvRaised, bvSpace)cтиль внутренней части панели, гдетип, bvLowered – вогнутая, bvRaised – выпуклая форма метки;

BevelOuter: TPanelBevel стиль обрамления панели

BevelWidth: TBevelWidth, где TBevelWidth = 1..MaxInt; – ширина обрамления панели.

BorderWidth: TBorderWidth, где TBorderWidth = 0..MaxInt; – ширина бордюра (Расстояние в пикселях между наружной и внутренней кромками обрамления );

Visible: boolean – Определяет видимость (true) или невидимость (false) панели.

Если устанавливается в false свойствоVisible компонента-контейнера, то становятся невидимыми и все расположенные на нем дочерние компоненты, независимо от значения их свойствVisible. Если свойствоVisible ранее невидимого компонента-контейнера устанавливается вtrue, то становятся видимыми и все его дочерние компоненты, у которыхVisible = true.

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

Прямое задание значений true и false свойствуVisible можно заменить вызовами методовShow иHide. Первый из них делает компонент видимым и устанавливаетVisible в true. А второй делает компонент невидимым и устанавливаетVisible в false.

Пример

Пусть в приложении в одном и том же месте формы друг на друге расположены две панели: Panel1 и на нейРаnel2, содержащие какие-то управляющие компоненты для разных режимов работы.Panel2расположена наPanell, которая является, таким образом, ее родителем. В обработчик события формыOnCreate можно вставить операторы:

Panel2.Visible := False;

Panell.Visible := True;

Panel2.Parent := Forml;

Panel2.BoundsRect := Panell.BoundsRect;

Первый два из них делают панель Panel2 невидимой,aPanell — видимой. Впрочем можно было бы обойтись и без этих операторов, если задать в процессе проектирования значенияVisible, равнымиtrue для Panell и false для Раnе12. Третий оператор делает родительским компонентом панелиРаnе12 формуForm1. А четвертый оператор задает панелиРаnе12 то же местоположение и размеры, которые имеет панельPanell. Последнее необходимо, поскольку при проектировании ее координаты соответствовали координатному пространству контейнера

клиентской области панели Panell. А теперь ее родитель сменился на форму, и надо ее расположить в том же месте формы, в котором расположенаPanell.

Приведенный код можно было бы сократить, если в процессе проектирования размещать панель Раnе12 не на панелиPanell, а в каком-то другом месте непосредственно на форме, и задать значенияVisible, равнымиtrue дляPanel1 и false дляРаnе12. Тогда в обработчике события формыOnCreate достаточно одного оператора:

Panel2.BoundsRect:=Panell.BoundsRect;

изменяющего положение Panel 2.

Аналогичный оператор может быть также реализован методом SetBounds:

with Panell do Panel2.SetBounds(Left,Top,Width, Height) ;

В результате работы одного из приведенных операторов в момент создания формы на ней будет видна панель Panell. В момент, когда ее надо заменить наPanel2, можно выполнить операторы:

Panell.Visible := False;

Panel2.Visible := True;

делающие невидимой первую и видимой вторую панель. Когда надо вернуть на экран изображение Panell, можно выполнить операторы:

Panel2.Visible : = False;

Panell.Visible := True;