- •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. Контроль межмодульных интерфейсов
Visible:Boolean; - отображается ли элемент управления на экране.
МЕТОДЫ Hide - делает компонент невидимым visible=false. Show - делает компонент видимым. Refresh - стирает и рисует заново элемент
BringToFront помещает элемент поверх остальных SendToBack - помещает элемент ниже всех остальных.
Билет 20.
События при нажатии мышью на левую кнопку.
Type
TNotifyEvent=procedure(Sender:Tobject) of object;
Property OnClick:TNotifyEvent;
- возникает при выборе элемента управления, если была нажата и отпущена левая кнопка мыши.
Property OnDblClick:TNotifyEvent
– возникает при двойном щелчке левой клавишей мыши по элементу управления.
Билет 21.
Общие события, возникающие при манипулировании мышью.
Type TMouseEvent=procedure(Sender:Tobject; Button:TMouseButton; Shift:TShiftState;X,У:integer) of object;
Property OnMouseDown: TMouseEvent; Property OnMouseUp: TMouseEvent; - событие возникает при нажатии /отпускании клавиши мыши, когда указатель мыши находится над элементом управления.
Button (mbLeft, mbRight, mbMiddle)- какая кнопка мыши нажата. Shift [SsShift, ssLeft, ssRight, ssMiddle, ssAlt, ssCtrl]– множество, обозначающее кнопки нажатые одновременно с Shift,Alt,Ctrl. X,Y –координаты указателя мыши в клиентской области компонента.
Type TMouseEvent=procedure(Sender:Tobject; Button:TMouseButton; Shift:TShiftState;X,У:integer) of object; Property OnMouseMove:TMouseMoveEvent; - событие возникает при перемещении курсора мыши, над элементом управления
Билет 22.
События, предназначенные для поддержки перетаскивания.
Type TStartDragEvent = procedure (Sender:TObject; var DragObject:TdragObject) of object; Property OnStartDrag:TStartDragEvent; - событие возникает, когда начинается перетаскивание компонента. Параметр DragObject содержит ссылку на объект, используемый для формирования изображения элемента управления во время перетаскивания. По умолчанию равняется nil, что означает, переноситься будет сам компонент.
Type TDragOverEvent=procedure (Sender, Source: TObject; X, Y:Integer; State:TdragState;var Accept:Boolean) of object; Property OnDragOver: TdragOverEvent; событие возникает в процессе перетаскивания, когда перетаскиваемый компонент Source находится над элементом Sender X, Y – глобальные координаты курсора мыши. State определяет состояние перетаскиваемого компонента по отношению к другим компонентам там возможны следующие состояния: dsDragEnter – курсор входит в пределы компонента; dsDragMove – курсор перемещается в пределах компонента; dsDragLeave – курсор выходит за пределы компонента.
Type TDragDropEvent=procedure (Sender,Source:TObject; X,Y:Integer) of object; Property OnDragDropEvent; - событие возникает в момент, когда Source опускается на элемент Sender.
Type TEndDragEvent = procedure (Sender,Target:TObject; X,Y:integer) of object; Property OnEndDrag:TendDragEvent; - событие возникает, когда завершается перетаскивание элемента управления Sender над элементом Target
Билет 23.
Свойства и методы, поддерживающие связь родительский-дочерний.
Потомки TControl – являются оконными элементами управления.
Такие элементы во время выполнения программы могут получать фокус ввода, реагируют на события, возникающие при использовании клавиатуры. Наличие окна позволяет активизировать элемент управления во время выполнения программы.
Каждое окно Windows связано со специальным числовым идентификатором – дескриптором окна.
В этом классе завершается определение характеристик связи родительский дочерний, начатое в TControl (только оконный элемент может быть контейнером).
СВОЙСТВА ContolCount: Integer; - задает кол-во дочерних эл-в управления.
Controls[Index:integer]:TControl; - массив дочерних ParentCtrl3D: Boolean; – используется ли значение свойства Ctrl3D родителя
МЕТОДЫ
Function ContainIsControl(Control:TControl):Boolean; - истина, если текущий элемент управления является родительским по отношению к Control
Procedure InsertControl(AControl:TControl); - помещает компонент AControl в свойство-массив Controls данного оконного элемента.
RemoveControl(AControl:TControl); - удаляет компонент AControl из свойства-массива Controls данного оконного элемента.
ВАЖНЫЕ СВОЙСТВА И МЕТОДЫ
СВОЙСТВА
Brush: TBrush; - задает кисть с помощью которой рисуется фон.
Ctrl3D:Boolean; - элемент выглядит как объемный/ плоский.
Handle:HWND; - определяет числовой дескриптор окна.
Showing:Boolean; - или компонент виден на экране (аналогично Visible)
Type
TTabOrder=-1..32767;
TabOrder:TTabOrder; - определяет позицию компонента в последовательности табуляции родителя.
TabStop:Boolean; - или компонент находится в списке табуляции, False недоступен.
Type
TRect = record
Case integer of