загрузка...
загрузка...
На головну

Властивість

property Tag: Integer;

Визначає довільний цілочислений параметр, що не використовується Delphi і котрим програміст може розпоряджатися за своїм розсудом.

Будь-який компонент Delphi є власністю іншого компонента і, у свою чергу, може бути власником одного або декількох компонентів. Така залежність компонентів один від одного дозволяє істотно спростити процес керування ними. Наприклад, щоб знищити вікно з включеними в нього компонентами, достатньо викликати деструктор вікна: він по черзі викличе деструктори всіх інших компонентів, власником якого є компонент-вікно, і в такий спосіб цілком звільнить виділені вікну ресурси.

Властивість

property Owner: TComponent;

вказує на власника компонента (ця властивість доступна тільки для читання), а властивість

property Component Index: Integer;

на положення компонента в масиві components свого власника. Цей масив визначається властивістю

property Components[Index: Integer]: TComponent;

і містить список усіх компонентів, якими володіє даний компонент. Кількість зареєстрованих у списку компонентів повертає властивість

property ComponentCount: Integer;

Конструктор TComponet.Create має єдиний параметр звертання:

constructor Create(AOwner: TComponent);

у який компоненту передається посилання на його власника. У ході виконання конструктора компонент вставляє посилання на себе список components свого власника і змінює вміст власної властивості owner.

Для керування списком components призначені наступні методи:

procedure DestroyComponents; Викликає по черзі деструктори всіх компонентів із списку Components і видаляє всі компоненти зі списку.

function FindComponent (const AName: String): Tcomponent; Відшукує в списку компонент з ім'ям AName і повертає посилання на нього

procedure InsertComponent(AComponent: TComponent); Вставляє компонент AComponent у кінець списку Components

procedure RemoveComponent (AComponent: TComponent); Видаляє компонент AComponent із списку.

ІV.Положення, розміри і оформлення компонентів.

Положення і розміри компонента визначаються чотирма його властивостями (у пікселях):

property Height: Integer;// Висота

property Left: Integer; // Положення лівої частини

property Top: Integer; // Положення верхньої частини

property Width: Integer; // Ширина

Для всіх компонентів, крім форм, ці властивості задаються в координатах клієнтської частини батьківського компонента. Для форми - у координатах екрана. Клієнтська частина компонента - це внутрішня його область за винятком заголовка, рамки і меню. Властивості звичайно визначаються на стадії конструювання форми, але вони доступні також і на етапі прогону програми. Зміна будь-якого з них призводить до негайної зміни положення або розміру компонента як на етапі конструювання, так і при прогоні програми.

Важливу роль грає властивість Align, що визначає вирівнювання положення компонента щодо меж свого батька:

Type ТАlign = (alNone, alTop, alBottom, alLeft, alRight, alClient);

property Align: TAlign;

Якщо ця властивість не дорівнює alNone, компонентпритискається до верхньої (alTop),нижньої (alBottom), лівої (alLeft)або правої (alRight) межі свого батька. При цьому розміри компонента по сусіднім із межею вимірам ігноруються, і компонент «розтікається» по межі. Наприклад, якщо Аlign=аlTор, значення властивостей компонента Left і Width ігноруються і його прямокутник буде займати усю верхню частину клієнтської області батька висотою Height пікселей; Якщо декілька компонентів мають однакове вирівнювання, вони послідовно притискаються один до одного в порядку їхнього перерахування у властивості controls: перший притискається до межі батька, другий - до межі першого і т.д. Вся не заповнена іншими компонентами клієнтська область батька заповнюється компонентами з властивостями Align=alClient, що у цьому випадку накладаються один на одного. Чудовою особливістю властивості є його сталість при зміні розмірів клієнтської частини батька. Якщо, наприклад, компонент притиснутий до верхньої межі форми, він буде незмінно займати верхню частину клієнтської області при будь-яких змінах розмірів вікна. Таким засобом можна легко реалізувати панелі з інструментальними кнопками, панелі статусу і т.п. Тимчасове відключення і потім вмикання ефекту від властивості Align забезпечується методами

procedure DisableAlign;

procedure EnableAlign;

Будь-який видимий компонент можна сховати або показати за допомогою властивості visible або методами Hide і show:

property Visible: Boolean; // True - показує

procedure Hide; // Ховає компонент

procedure Show; // Показує компонент

Захований компонент не реагує на події від миші або клавіатури, він не бере участь у поділі клієнтської області батька, йому не можна передати фокус запровадження клавішею Tab.

Якщо компонент частково або цілком перекривається іншими компонентами, його можна розташувати над усіма компонентами і повернути назад за допомогою методів

procedure BringToFront; // Зробити верхнім

procedure SendToBack; // Зробити нижнім

Властивість

property Enabled: Boolean;

визначає можливість активізації компонента. Якщо воно має значення False, компонент заборонений для вибору. Такі компоненти (точніше, написи на них) звичайно відображаються сірим кольором. Деякі компоненти мають плоске зображення (наприклад, мітка TLabel), інші - завжди об'ємне (наприклад, кнопка TButton). Для інших елементів об'ємність зображення регулюється властивістю

property Ctl3D: Boolean;

З кожним керуючим компонентом зв'язується текстовий рядок, що стає доступний або через властивість caption, або через властивість Text. Незалежно від того, яка властивість містить цей рядок, її можна встановити й одержати відповідно методами SetTextBuf і GetTextBuf,при цьому метод GetTextLenповертаєдовжину рядка:

procedure SetTextBuf(Buffer: PChar);

function GetTextBuf(Buffer: PChar; BufSize: Integer): Integer;

function GetTextLen: Integer;

Якщо цей рядок виводиться в компоненті, використовується шрифт, що задається властивістю Font:

property Font: TFont;

У цьому випадку властивість

type TAlignment = (taLeftJustify, taRightJustify, taCenter) ;

property Alignment: TAlignment;

регулює розташування тексту щодо меж компонента: taLeftJustify-Притиснути до лівої межі; taRightJustify -притиснути до правої межі; taCenter - розташувати по центрі.

За допомогою надання властивості

property DesktopFont: Boolean;

значення True можна зажадати від компонента, щоб він виводив текст системним шрифтом Windows.

Видима частина елемента заливається кольором Color:

property Color: TColor;

Звичайно значення цієї властивості вибирається з таблиці стандартних кольорів Windows у виді константи clxxxx (перелік цих констант містить відкриваючийся список властивості). У деяких випадках може знадобитися залити компонент нестандартним кольором. У цьому випадку врахуйте, що властивість Color береже чотирьохбайтне значення, кожний байт котрого (зліва праворуч, тобто від старшого до молодшого) має таке призначення:

-1 - покажчик формату кольору;

-2, 3, 4 - інтенсивність відповідно синьої, зеленої і червоної складових. Наприклад, значення $00000000 визначає чорний колір,

$00FF0000 - чистий синій колір,

$00FFFFFF-білий колір і т.д.

Старший байт вказує, як використовуються інші байти значення. Якщо він дорівнює нулю, вони визначають rgb-колір так, як це описано вище. Якщо старший байт дорівнює 1, три інші байти визначають номер однієї з 65536 можливих логічних палітр (другий байт у цьому випадку ігнорується). Нарешті, якщо старший байт дорівнює 2, молодші визначають відносний колір: у цьому випадку Windows відшукує в поточній логічній палітрі найближчий до зазначеного кольору і використовує його для заливання компонента. Інші значення старшого байта ігноруються (точніше, ігноруються старші 5 розрядів цього байта; самий старший біт, якщо він дорівнює 1, визначає чорний колір незалежно від значень інших 31 розрядів).

Для спрощення розробки интерфейсних елементів, витриманих у єдиному стилі, до складу видимих компонентів включені властивості, що зв'язують ту або іншу особливість оформлення або поводження компонента з відповідною особливістю батька. Таких властивостей чотири:

property ParentColor: Boolean;

property ParentCtl3d: Boolean;

property ParentFont: Boolean;

property ParentHint: Boolean;

Якщо, наприклад, колір компонента не заданий явно властивістю color і його властивість ParentCoIor має значення True, компонент буде використовувати при промальовуванні колір свого батька, а зміна кольору батька призведе до негайної зміни кольору дочірнього компонента.

Явна установка значень властивостей color, ctr3D, Font або Hint призводить до автоматичної установки значень False у відповідні властивості ParentXXX.

Деякі компоненти окреслюються подвійною крайкою - зовнішньої і внутрішньої. У клас TWinControl Delphi 4 уведені спеціальні властивості, що управляють тривимірним ефектом, утворюваним такими крайками:

type

TBevelEdge = (beLeft, bеТор, beRight, beBottom);

TBevelEdges =set of TBevelEdge;

property BevelEdges: TBevelEdges;

Визначає сторони компонента, що будуть містити крайки: beLeft - ліва; bеTор - верхня; beRight - права; beBottom -нижня

type

TBeveLCut = (bvNone, bvLowered, bvRaised, bvSpace);

property Bevelinner: TBevelCut; Визначає тип внутрішньої крайки: bvNone, - немає рамки; bvLowered -втиснена крайка; bvRaised - опукла крайка; bvSpace - крайки немає, але для неї відводиться місце товщиною 1 піксель.

type TBevelKind = (bkNone, bkTile, bkSoft, bkFlat);

property BevelStyle: TBevelKind;

Вказує тип крайок: bkNone - немає крайок; bkTіle - є внутрішня і зовнішня крайка; bkSoft - те ж, що і bkTile, але менш контрастна зовнішня крайка; bkFlat - є тільки зовнішня крайка товщиною 1 піксель.

property BevelOuter: TBevelCut; Визначає тип зовнішньої крайки

type TBevelWidth = l. .MaxInt;

property BevelWidth: TBevelWidth;



  1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   Наступна
загрузка...
© um.co.ua - учбові матеріали та реферати