logo
Программирование в среде Delphy / Программирование в среде Delphi

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

Все компоненты Delphi являются потомками класса TComponent, который в свою очередь произошел от класса Tpersistent. Класс Tpersistent передает своим потомкам важный виртуальный метод

Procedure Assing(Source:TPersistent);

Этот метод позволяет копировать поля и свойства объекта Source в объект, вызвавший метод Assign.

Класс TComponent является предком для класса TControl, от которого в свою очередь произошли классы TWinControl и TGraphicControl. Компоненты, которые наследуют класс TWinControl, имеют оконный ресурс, т.е. они способны получать и обрабатывать сообщения Windows.

Рассмотрим некоторые общие для всех свойства компонентов:

Property Name:TComponentName; – имя компонента, обычно оно дается самой системой Delphi, например Button1, и на начальном этапе обучения программированию лучше его не изменять;

Property Tag:Integer; – определяет 4 байта в любом компоненте для личного использования;

Property Owner:TComponent; – указатель на владельца данного компонента;

Property Parent:TWinControl; – определяет родительское окно для данного компонента. Следует иметь в виду, что владелец создает компонент, а родитель им управляет как дочерним окном;

Property Caption:TCaption; – заголовок компонента, именно он, например для кнопки, определяет видимую надпись на компоненте;

Property Text:TCaption; – текст на компоненте, он не совместим со свойством Caption. У компонента может быть свойство или Caption или Text;

Property Cursor:TCursor; – определяет вид курсора при его нахождении над данным компонентом. Все курсоры принадлежат глобальному объекту Screen. Ниже приведены стандартные виды курсора:

Стандартные курсоры системы Windows имеют номера от -17 до 0. Можно создать свой вид курсора в каком–нибудь графическом редакторе, сохранить его в ресурсном файле с расширением *.res, внести его в список курсоров объекта Screen, а затем назначить его любому компоненту. Пример:

{$R Cursor.res}

Screen.Cursor[1]:=LoadCursor(HInstance,’Cur_1’);

Button1.Cursor:=1 ;

Здесь сначала читается ресурсный файл Cursor.res, затем в объект Screen загружается курсор с именем Cur_1, регистрируется под номером 1 и этот вид курсора назначается компоненту Button1.

Property BaundsRect:TRect; – определяет прямоугольное окно, в котором находится компонент вместе с его граничным окаймлением. Здесь

TRect = Record case Integer of 0: (Left, Top, Right, Bottom: Integer); 1: (TopLeft, BottomRight: TPoint); End;

End;

TPoint=Record

x,y:Integer;

end;

Графически окно определяется следующим образом относительно координат владельца компонента:

Property ClientRect:TRect; – определяет клиентскую часть окна компонента, т.е. ту часть, которая доступна для отображения дочерних компонент;

Property Align:TAlign; – определяет вид выравнивания компонента относительно границ родителя. Это свойство может принимать следующие значения:

alNone – выравнивание не производится;

alTop – компонент прижимается к верхней границе родителя и его ширина становится равной родительской ширине клиентской области;

alBottom – компонент прижимается к нижней границе родителя и его ширина становится равной родительской ширине клиентской области;

alLeft – компонент прижимается к левой границе родителя и его высота становится равной родительской высоте клиентской области;

alRight – компонент прижимается к правой границе родителя и его высота становится равной родительской высоте клиентской области;

alClient – компонент расширяется на всю клиентскую область родителя. Свойство Align часто используется при проектировании приложений рассчитанных для работы с экраном различного разрешения, например, 640 на 480 точек или 1024 на 768 точек. Оно позволяет автоматически настраивать вид формы и расположение компонентов на ней для любого разрешения экрана;

Bottom

Top

Left

Right

Property Visible:Boolean; – определяет видимость компонента. Можно прямо управлять значением этого свойства, а можно вызывать специальные методы: Procedure Hide; – скрыть;

Procedure Show; – показать;

Property Enable:Boolean; – определяет активность компонента. Если это свойство ложно, то этот компонент не может быть активным и отображается обычно серым цветом;

Property Color:Tcolor; – определяет цвет фона компонента. Цвет обычно задается или символьной константой, начинающейся приставкой «cl», или шестнадцатеричной восьмиразрядной константой, в которой старшие два разряда обычно полагают равными нулю, а следующие сдвоенные разряды определяют интенсивности синей, зеленой и красной составляющих цвета. Например, константа $000000FF соответствует ярко–красному цвету;

Property Hint:String; – текст оперативной подсказки, которая может всплывать рядом с компонентом, на который указывает курсор. Текст подсказки может состоять из двух частей, разделенных вертикальной линией. Первая часть текста подсказки будет появляться рядом с компонентом, а вторая часть – будет передаваться объекту Application в свойство Hint и может отображаться в любом визуальном компоненте, обычно в StatusBar, при написании обработчика события OnHint для объекта Application. Например, для кнопки можно определить подсказку вида

Button1.Hint:=’Открыть файл | Работа с файлами’;

С оперативной подсказкой непосредственно связаны следующие свойства:

Property ShowHint:Boolean; – разрешает вывод подсказки. Нужно помнить, что и у владельца данного компонента это свойство должно быть истинным, иначе у всех дочерних компонент подсказка работать не будет;

Property HintColor:Tcolor; – определяет цвет фона подсказки;

Property HintPause:Integer; – определяет длительность паузы перед показом подсказки после появления курсора мышки над компонентом в миллисекундах;

Property HintHidePause:Integer; – определяет длительность показа подсказки в миллисекундах;

Property HelpContext:THelpContext; – определяет номер странички справочной системы, которая может вызываться для активного компонента при нажатии клавиши F1;

Property Canvas:TCanvas; – определяет холст фона компонента, вначале это обычно светло–серый фон, но на нем можно рисовать все, что угодно.

Мы рассмотрели только основные общиесвойства компонентов. Более подробно о свойствах конкретных компонентов можно узнать, используя службу помощи системы Delphi или книги – справочники.