Справочник по компонентам Дельфи

Автор: Пользователь скрыл имя, 06 Февраля 2013 в 01:52, аттестационная работа

Описание работы

Класс TList -- универсальный список. Он представляет собой массив нетипированных указателей и поэтому годится для хранения набора любых, в том числе разнотипных, данных и объектов. При добавлении/удалении в список данные не создаются и не уничтожаются -- эта обязанность лежит на программисте. Приведем доступные ему методы и свойства класса.

Работа содержит 1 файл

componens.doc

— 980.33 Кб (Скачать)

Модуль EXTCTRLS

Страница Палитры компонентов Additional

Этот элемент управления предназначен для выделения и разграничения областей на форме. Может иметь вид прямоугольника или линии. Геометрическая форма компонента

(Pb) property Shape: TBevelShape;

может быть одной из принадлежащих множеству:

TBevelShape = (bsBox, bsFrame, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine) ;

Стиль элемента -- утопленный (bsLowered) или приподнятый (bsRaised) -- определяется свойством:

(Pb) property Style: TBevelStyle;

TBevelStyle = (bsLowered, bsRaised)

Этот компонент предназначен только для оформления -- с ним не связаны никакие события.

 

Компонент TImage

TObject-->TPersistent-->TComponent-->TControl-->TGraphicControl-->TImage

Модуль EXTCTRLS

Страница Палитры компонентов Additional

Этот компонент служит надстройкой над классом TPicture и замыкает всю иерархию графических объектов VCL. Он предназначен для показа на форме изображения: битовой карты (TBitmap), метафайла (TMetafile), значка (TIcon).

Свойство

(Pb) property Picture: TPicture;

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

В качестве канвы используется канва объекта Picture. Graphic -- только если поле Graphic ссылается на объект класса TBitmap:

(Ro) property Canvas: TCanvas;

Если это не так, то попытка обращения к свойству вызовет исключительную ситуацию EInvalidOperation, так как рисовать на метафайле или значке нельзя. Будьте внимательны с этим свойством.

Следующие три свойства определяют, как именно Tpicture располагается в рабочей области компонента:

(Pb) property AutoSize: Boolean;

-- означает, что размеры компонента настраиваются по размерам содержащегося в нем графического объекта. Устанавливать его в True нужно перед загрузкой изображения из файла или буфера обмена;

(Pb) property Stretch: Boolean;

-- если это свойство установлено в True, то изображение "натягивается" на рабочую область, при необходимости уменьшая или увеличивая свои размеры. Если оно установлено в False, то играет роль следующее свойство;

(Pb) property Center: Boolean;

-- если это свойство установлено в True, изображение центрируется в пределах рабочей области. В противном случае -- располагается в ее верхнем левом углу.

Компонент TLabel

TObject->TPersistent-->TCoinponent->TControl->TGraphicControl~"

-->TCustomLabel->TLabel'

Модуль STDCTRLS

Страница Палитры компонентов Standard

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

Свойства компонента приведены в таблице:

(Pb) property Caption: TCaption; TCaption = string[255];

Содержит строку с выводимым текстом.

(Pb) property Alignment: TAlignment;

Устанавливает правило выравнивания текста -- по правому, левому краю или по центру клиентской области.

(Pb) property AutoSize: Boolean;

В случае True происходит автоматическое приведение размеров компонента к размерам текста и высоте шрифта.

(Pb) property ShowAccelChar: Boolean;

Показывает, отображается ли в TLabel акселератор (символ, перед которым стоит знак амперсанда -- '&'). Если оно равно False, амперсанд никак не интерпретируется. В случае True акселератор выделяется в строке подчеркиванием и нажатие клавиш <А11>+<символ> приводит к передаче фокуса окну FocusControl (т. к. TLabel сам не является оконным компонентом).

(Pb) property FocusControl: TWinControl;

Определяет оконный компонент, которому посылаются сообщения о вводе акселератора.


 

(Pb) property Transparent: Boolean;

Прозрачность фона компонента. Если свойство установлено в True, то при перерисовке элемента управления не происходит закрашивание клиентской области. В противном случае -- происходит закрашивание кистью bsSolid и цветом Color.

IPb) property WordMrap: Boolean;

Определяет возможность разрыва слов в случае, если длина выводимого текста превышает ширину компонента.


 

Компонент THeader

TObject-->TPersistent-->TComponent--"TControl--"-TWinControl--"

-->TCustoinControl--"THeader

Модуль EXTCTRLS

Страница Палитры компонентов Additional

Этот компонент представляет собой заголовок, например, ддя таблицы, т. е. совокупность расположенных горизонтально полей (секций) с текстом, ширина которых может изменяться.

Заголовок разделен на столько секций (столбцов), сколько строк имеется в свойстве:

(Pb) property Sections: TStrings;

Каждая строка отображается в своей секции. Если свойство:

(Pb) property AllowResize: Boolean;

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

(Pb) property SectionWidth[X: Integer]: Integer;

С изменением ширины секции связано два события. При каждом перемещении мыши во время изменения возникает событие:

(Pb) property OnSizing: TSeccionEvent;

TSectionEvent = procedure(Sender: TObject; ASection, AWidth:

Integer) of object;

Оно означает, что произошло изменение ширины секции ASection и ее новая ширина равна AWidth. Об окончании изменения программист извещается при помощи события:

(Pb) property OnSized: TSectionEvent;

Стиль обрамления компонента обусловлен свойством:

(Pb) property BorderStyle: TBorderStyle;

 

Ввод и выбор значений

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

 

Компонент TListBox

TObject-->TPer si stent--"TComponent-->TControl-->TWinControl-->

-->TCustomListBox-->TListBox

Модуль STDCTRLS

Страница Палитры компонентов Standard

Этот компонент соответствует списку выбора -- стандартному элементу управления Windows. С его помощью пользователь может выбрать одну из строк, которые хранятся в свойстве:

(Pb) property Items: TStrings;

В списке Items. Strings хранится текст строк, а список Items.Objects пользователь может использовать для хранения связанных с ними объектов, например, картинок для нестандартно изображаемого списка.

Индекс текущего (сфокусированного) элемента списка содержится в свойстве:

property Itemlndex: Integer;

Не путайте сфокусированный элемент (стандартно он помещается в рамку из точек) и выделенный (цветным фоном), они могут не совпадать. Смысл этих понятий будет объяснен ниже. Значение индекса Itemlndex лежит в диапазоне от 0 до Items.Count-1. Он доступен для чтения и записи.

Индекс первого видимого элемента в списке представлен свойством:

property Toplndex: Integer;

Он будет ненулевым в том случае, когда все элементы не помещаются в окне списка, и была сделана прокрутка.

Список выбора имеет свою канву:

(Ro) property Canvas: TCanvas;

и на его поверхности можно рисовать.

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

(Pb) property MultiSelect: Boolean;

(Pb) property ExtendedSelect: Boolean;

Если MultiSelect установлено в False, то в списке одновременно не может быть выделено несколько элементов и значение ExtendedSelect не играет роли. В противном случае дело обстоит так. При ExtendedSelect = False каждый раз изменяется состояние только сфокусированного элемента. Каждый щелчок мышью или нажатие пробела меняет его состояние выделения на противоположное. Если ExtendedSelect = True, то выбор происходит при передвижении мыши с нажатой левой кнопкой, каждом щелчке мышью на новом элементе списка при нажатых <Ctri> или <Shift>, или при нажатии <Shift>+<t/4->.

Количество выделенных элементов можно узнать из свойства:

(Ro) property SelCount: Integer;

Проверку и установку выделения для каждого элемента можно провести, используя свойство:

property Selected[Index: Integer]: Boolean;

При задании ошибочного индекса при доступе к списку возникает исключительная ситуация EList Error.

Чтобы расположить строки в алфавитном порядке, нужно установить в True свойство:

(Pb) property Sorted: Boolean;

Элементы списка могут появляться как в одном столбце -- Друг под другом, так и в нескольких соседних. В этом случае список может иметь горизонтальную полосу прокрутки. Число столбцов определяется свойством:

(Pb) property Columns: Integer;

Если столбец один, то значение этого свойства равно 0. Очистить список можно при помощи метода:

procedure Clear;

Стиль обрамления компонента определяется свойством:

(Pb) property BorderStyle: TBorderStyle;

Найти индекс элемента, которьш содержит точку Pos, можно при помощи метода:

function ItemAtPos(Pos: TPoint; Existing: Boolean): Integer;

Параметр Existing определяет, что возвращается в случае неудачи (значение Items.Count либо -1).

Прямоугольник, отведенньш элементу списка с индексом Index, определяется с помощью метода:

function ItemRect(Index: Integer): TRect;

При создании и визуализации списка система обычно подгоняет его высоту таким образом, чтобы в видимое поле помещалось целое число элементов. Это соответствует значению True свойства:

(Pb) property IntegralHeight: Boolean;

Если IntegralHeight равно False, то высота списка не изменяется. Это свойство не играет роли при стиле списка IbOwnerDrawVariable.

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

(Pi-y property Style;

TListBoxStyle = (IbStandard, IbOwnerDrawFixed,

IbOwnerDrawVariable) ;

Рассмотрим назначение этого свойства более подробно.

В стандартном варианте (IbStandard) в списке отображаются только строки из свойства Items; в двух других случаях рисуемые пользователем списки могут иметь фиксированную (IbOwnerDrawFixed) или переменную (IbOwnerDrawVariable) высоту элемента. В первом случае нужно задать свойство:

(Pb) property ItemHeight: Integer;

Для стиля IbOwnerDrawVariable высота каждого элемента определяется программистом, которьш должен предусмотреть обработку события:

(Pb) property OnMeasureItem: TMeasureItemEvent;

TMeasureItemEvent = procedure(ListBox: TListBox; Index:

Integer; var Height: Integer) of object;

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

Для рисования каждого элемента инициируется событие:

(Pb) property OnDrawItem: TDrawItemEvent;

TDrawItemEVent = procedure(ListBox: TListBox; Index: Integer;

Rect: TRect; State: TOwnerDrawState) of object;

Обработчик этого события получает указатель на список ListBox, индекс элемента Index, отведенньш для рисования прямоугольник Rect, и состояние элемента в параметре State:

TOwnerDrawState = set of (odSelected, odGrayed, odDisabled,

odChecked, odFocused) ;

Для списка выбора из этого множества действительны только флаги odSelected, odDisabled, odFocused.

 

Компонент TComboBox

TObject-->TPersistent->TComponent--"TControl--"TWinControl-->

-->TCustomCornboBox-->TComboBox

Модуль STDCTRLS

Страница Палитры компонентов Standard

Этот стандартный элемент управления Windows -- комбинированный список --- имеет много общего с TListBox. Он состоит из собственно списка и помещенного рядом поля ввода редактирующего элемента. Таким образом, пользователь может выбрать одно из готовых значений какой-то величины или ввести свое. Стиль компонента в части правил взаимного сочетания списка и редактора определяется свойством:

(РЁ) property Style: TComboBoxStyle;

TComboBoxStyle = (csDropDown, csSimple, csDropDownList,

csOwnerDrawPixed, csOv'nerDrawVariable) ;

Его значения имеют следующий смысл:

csSimple -- весь список виден все время. Текущий выбор отображается в редакторе, его можно изменить;

csDropDown -- список открывается (выпадает) и скрывается при нажатии кнопки, расположенной справа от текста. Такой список будем называть вьша дающим;

csDropDownList -- список вьшадающий, но редактирующий элемент заменен статическим текстом и вводить свои данные пользователь не может;

csOwnerDrawFixed -- определяемьш пользователем стиль списка с постоянной высотой элемента;

csOwnerDrawVariable -- определяемьш пользователем стиль списка с переменной высотой элемента.

Принципы пользовательской отрисовки списка для csOwnerDrawFixed и csOwnerDrawVariable, а также связанные с этим методы и события остались такими же, как в TListBox. По умолчанию устанавливается сталь csDropDown.

Организация списка также сходна с предыдущей. Приведенные свойства и методы имеют то же назначение:

(Pb) property Items: TStrings;

property Itemlndex: Integer;

procedure Clear;

(Pb) property Sorted: Boolean;

(RcS) property Canvas: TCanvas;

Текст, содержащийся в редактирующем элементе списка, доступен через свойство:

(р5) property Text: TCaption;

Его максимальная длина ограничена числом символов, равным значению свойства:

(Р1э) property MaxLength: Integer;

Если MaxLength равно 0, то ограничений на длину строки нет (до 255 символов).

При изменеюш текста (а также при смене выбранного элемента) возникает событие OnChange.

Часть текста может быть выделена. Три свойства содержат выделенный текст, его положение и длину:

property SelText: strings-property SelStart: Integers-property SelLength: Integer;

Метод

procedure SelectAll;

выделяет весь текст. Значение свойства

property DroppedDown: Boolean;

соответствует состоянию списка: True соответствует открытому ("выпавшему") списку. С его помощью можно показывать или скрывать список из программы. При изменении состояния списка возникает событие:

(Р}з\ property OnDropDown: TNotifyEvent ;

Максимальное число элементов, которые показываются при выпадении списка:

(Pb) property DropDownCount: integer;

По умолчанию оно равно 8. В первой версии VCL это свойство описано, но не реализовано (не играет роли).

 

Компонент TScrollBar

TObject->TPersistent->TComponent-"TControl->TWinControl-^TScrollBar

Модуль STDCTRLS

Страница Палитры компонентов Standard

TScrollBar представляет собой стандартный бегунок Windows. В таблице перечислены свойства этого компонента:

(Pb) property Kind: TScrollBarKind; ScrollBarKind = (sbHorizontal, sbVertical) ;

Задает один из предопределенных типов бегунка: горизонтальный (по умолчанию) или вертикальный.

(Pb) property Max: Integer;

Максимальное значение положения бегунка.

(Pb) property Min: Integer;

Минимальное значение положения бегунка.

(РЫ property Position: Integer;

Текущее положение бегунка.

procedure SetParams(APosition, AMin, AMax: Integer);

Устанавливает сразу положение и пределы изменения бегунка. Если AMax<AMin, возникает исключительная ситуация EInvalidOperation.

(РЙ property LargeChange: TScrollBarInc; TScroll Bar Inc=l...32767;

"Большой" сдвиг бегунка. Применяется при перемещении на одну страницу. Осуществляется при щелчке мышью по поверхности компонента с соответствующей стороны или при нажатии <PgUp> или <PgDn>.

(рь) property SmallChange: TScrollBarInc;

"Малый" сдвиг бегунка. Применяется при перемещениях на одну линию: при щелчке на кнопках со стрелками на концах бегунка или нажатии клавиш управления курсором.

Информация о работе Справочник по компонентам Дельфи