
- •1. Пользователи класса не должны видеть подробности, которыми оперируют разработчики.
- •2. Прямой доступ к полям хотя и возможен, но не всегда желателен, т.К. Бесконтрольность может привести к ошибкам.
- •Var o1: TmyCl;
- •Var s:string;
- •Var MyOb:TmyCl;
- •Var o1: Tpar; o2: Tchild;
- •Var figure:Tfigure; circle:Tcircle;
- •Var o1,o2: TmyCl; n:integer;
- •Var мan: tМan;
- •Var par: Tpar; child: Tchild;
- •If man is Tman then …;//определение типа
- •Var cIrcle:tcIrcle; Rectangle:tRectangle;
- •Var MetaClass: TmetaClass;//может хранить в себе объект любого класса потомка Tobject Procedure UseObject(Obj: TmetaClass);
- •Любой компонент Делфи является собственностью другого компонента.
- •При разрушении компонента владельца автоматически разрушается принадлежащие ему компоненты.
- •X:Longint;
- •Visible:Boolean; - отображается ли элемент управления на экране.
- •0: (Left, top, right, bottom: integer);
- •1: (TopLeft, BottomRight: tPoint);
- •Interval: cardinal; - интервал в милисекундах после которого начинается событие OnTimer.
- •Items:tString; - задает элементы списка.
- •Items:tString; - задает элементы списка.
- •Items:tString;-содержит список названий переключателей.
- •1. Контроль обращений к данным
- •2. Контроль вычислений
- •3. Контроль передачи управления
- •4. Контроль межмодульных интерфейсов
Любой компонент Делфи является собственностью другого компонента.
При разрушении компонента владельца автоматически разрушается принадлежащие ему компоненты.
Свойства реализующие концепцию принадлежности: ComponentCount:Integer; - количество компонентов во владении ComponentIndex:Integer; - номер компонента в списке владельца (нумерация с нуля). Components [Index:Integer]:TComponent; - список компонен-тов, для которых данный является владельцем.
Owner: TComponent; - содержит указатель на компонент владелец для текущего компонента.
МЕТОДЫ Constructor Create (AOwner: TComponent);virtual; - создает объект данного класса, помещает ссылку на себя в массив Components, своего владельца, имя которого указано в AOwner.
Destroy Tcomponent;- удаляет из памяти компоненты данного владельца. Procedure InsertComponent(Acomponent: TComponent); - вставляет новый компонент с именем Acomponent. Procedure RemoveComponent(Acomponent: TComponent); - удаляет компонент Acomponent.
Билет 15.
Класс TСontrol.
Потомки этого класса называются элементами управления.
Это визуальные компоненты с их помощью информация выводится на экран.
В потомках TControl вводится понятие родительского элемента управления суть его в следующем:
Каждый элемент управления может быть помещен в груп-пирующий элемент. Дочерние не могут выходить за рамки роди-тельского, при перемещении родительского перемещаются и дочерние. Дочерний элемент использует некоторые родительские свойства (цвет, шрифт). Визуально изображение родительского и дочернего на экране получает единый хороший стиль. В качестве родительского может выступать только оконный элемент управления, т.е. потомок TWinControl, дочерние элементы управления могут быть любыми.
Не следует путать владельца и родителя
Билет 16.
Свойства и методы для обеспечения отношения родительский-дочерний .
Свойства.
Parent:TWinControl; - задает родителя текущему элементу.
ParentBiDiMode:Boolean; ParentColor:Boolean; ParentFont:Boolean; ParentShowHint:Boolean;
Билет 17.
Свойства позиционирования и выравнивания
С окном связывается система координат
СВОЙСТВА:
Left,Тop, Height,Width, ClienHeight,ClienWidth :Integer;
AutoSize:Boolean;– автоматическая подстройка размера компонента под размер содержимого (если true).
ClienHeight:Integer; ClienWidth:Integer; - задает высоту и ширину клиентской области элемента управления в пикселях,
Способ выравнивания элемента в родительском компоненте.
Type
TAlign=(alNone,alTop,alBottom,alLeft,alRight,alClient);
Var
Align: TAlign;
Привязка дочернего элемента к краям родителя.
Type
TAnchorKind=(akTop,akLeft,akRight,akBottom);
TAnchors=set of TAnchorKind;
Var
Anchors:T Anchors;
Системы координат
Type
Tpoint=packed record
X:Longint;
Y:Longint;
End;
Методы, позволяющие преобразовать локальные координаты родителя, в глобальные координаты дисплея
Function ClientToScreen(const Point:TPoint):TPoint;
Function ScreenToClient (const Point:TPoint):TPoint;
возвращает глобальные (локальные) координаты точки заданные локальными (глобальными) координатами, содержащимися в параметре Point.
Свойства, определяющие внешний вид элементов управления.
Type TBiDiMode=(bdLeftToRight,bdRightToLeft, bdRightToLeftNoAlign, bdRightToLeftReadingOnly); Property BiDiMode: BiDiMode; - определяет вывод текста учетом национальной специфики, по умолчанию bdLeftToRight вывод текста слева направо. И прокручивание тоже.
Type TCaption=string; Property Caption:TCaption; заголовок элемента.
$02 FF FF FF
Type TColor=$00000000..$02FFFFFF; Property Color:TColor;
Часто встречающиеся константы цветов clBlack Черный clMaroon Темно-бордовый clGreen Зеленый clOlive Оливковый clNavy Темно-син clPurple Пурпурный clGray Серый clSilver Серебрянный clRed Красный clLime Лимонно-зеленый clBlue Синий clYellow Желтый
clFuchsia Сиреневый clAqua Голубой
clWhite Белый clBackground Фон стола windows clMenu Фон меню clWindow Окно Windows
Type TCursor=-32768..32767; Cursor:Tcursor; - вид курсора мыши при попадании в элемент. DragCursor: TCursor; - вид курсора во время перетаскивания.
Type TDragMode=(dmManual,dmAutomatic); Property DragMode: TDragMode; - режим перетаскивания элемента – можно мышью (dmAutomatic) или нельзя (dmManual).
Весьма важные
СВОЙСТВА Enabled:Boolean; - реагирует ли компонент на мышь и клаву.
Font:TFont; - шрифт, перечислимый тип, из шрифтов системы.
Hint :TCaption; - текст подсказки. ShowHint:Boolean; - разрешает или запрещает окно подсказки.
Text:TCaption; текст ассоциированный с элементом управления, например Edit.