Репетиторские услуги и помощь студентам!
Помощь в написании студенческих учебных работ любого уровня сложности

Тема: Изучение свойств, методов и событий компонент Delphi

  • Вид работы:
    Курсовая работа (п) по теме: Изучение свойств, методов и событий компонент Delphi
  • Предмет:
    Информационное обеспечение, программирование
  • Когда добавили:
    08.09.2014 16:46:19
  • Тип файлов:
    MS WORD
  • Проверка на вирусы:
    Проверено - Антивирус Касперского

Другие экслюзивные материалы по теме

  • Полный текст:
    Введение. 3
    TCheckListBox. 4
    TEdit 6
    Описание: 6
    Программный код: 7
    TMaskEdit 12
    TObject 12
    TPersistent 13
    TComponent 14
    TControl 17
    TWinControl 22
    TCustomEdit 23
    TCustomMaskEdit 24
    TMaskEdit 24
    Variant 25
    Описание. 25
    Примеры использования. 28
    Заключение. 31
    Список литературы.. 32
     
    Введение Цель работы - изучение свойств, методов и событий компонент Delphi.
    Для достижения поставленной цели необходимо решить следующие задачи:
    Исследовать все методы, свойства и события, на которые можно писать обработчик событий для компонента TCheckListBoxРазработать приложение, которое будет демонстрировать все свойства и методы для компонента TEditПостроить список предков для компонента TMaskEditИсследовать и описать  область применения переменных типа Variant  В качестве методологического обеспечения в работе использованы работы отечественных и зарубежных авторов, справочная литература, интернет-ресурсы.
     
     
    TCheckListBox Компонент TCheckListBox в основном аналогичен компоненту TListBox, но его возможности по отношению к TListBox расширены за счет введения дополнительных элементов. Здесь перед каждой строкой списка находится переключатель, который можно использовать как индикатор для выведения строки, то есть можно легко проконтролировать состояние переключателя и определить, установлен флажок или нет.
      Подобно тому как компонент TRadioGroup группирует переключатели, компонент TCheckListBox группирует флажки, позволяя обратиться к любому из них по индексу.
      Чтобы вставить в компонент группу флажков, следует раскрыть редактор его свойства Items и ввести одну или несколько текстовых строк - каждая строка будет соответствовать поясняющей надписи справа от флажка.
      Свойства компонента TCheckListBox.
    Свойство
    Описание
    Property AllowGrayed: Boolean;
    Разрешает/запрещает использовать в переключателях третье состояние cbGrayed.
    Property BorderStyle: TBorderStyle;
    Определяет тип рамки, очерчивающей компонент:
    bsNone - нет рамки;
    bsSingle - рамка толщиной 1 пиксель.
    Property Canvas: TCanvas;
    Это свойство используется для программной прорисовки флажков.
    Property Checked[Index: Integer]: Boolean;
    Содержит выбор пользователя типа Да/Нет для переключателя с индексом Index. Для состояний cbUnchecked и cbGrayed свойство имеет значение False.
    Property Columns: Integer;
    Определяет количество колонок флажков.
    Property Flat: Boolean;
    Разрешает/запрещает трехмерную прорисовку окошек выбора.
    Property Header[Index: Integer]: Boolean;
    Запрещает прорисовку окошка выбора для флажка с индексом Index. Таким образом вставляются заголовки отдельных секций.
    Property HeaderBackgroundColor: TColor;
    Цвет фона для заголовка (см. свойство Header).
    Property HeaderColor: TColor;
    Цвет текста для заголовка (см. свойство Header).
    Property IntegralHeight: Boolean;
    Если имеет значение True, компонент автоматически изменяет высоту так, чтобы в нем полностью отображались все флажки, в противном случае флажок может не полностью отображаться в окне компонента.
    Property ItemEnabled[Index: Integer]: Boolean;
    Разрешает/запрещает выбор флажка с индексом Index.
    Property ItemHeight: Integer;
    Если свойство Style компонента имеет значение IsOwnerDrawFixed, значение ItemHeight определяет высоту каждого флажка компонента. При других значениях Style это свойство игнорируется.
    Property ItemIndex: Integer;
    Содержит индекс выбранного флажка (индексация флажков начинается с нуля).
    Property Items: TStrings;
    Содержит подписи флажков компонента.
    Property MultiSelect: Boolean;
    Если содержит True, пользователь может устанавливать несколько флажков.
    Property SelCount: Integer;
    Содержит количество выбранных флажков компонента, если свойство MultiSelect содержит True.
    Property Selected[Index: Integer]: Boolean;
    Содержит True, если флажок выбран с индексом Index.
    Property Sorted: Boolean;
    Сортирует по алфавиту надписи на флажках.
    Property State[Index: Integer]: TCheckBoxState;
    Содержит состояние переключателя с индексом Index:
    cbUnchecked - нет;
    cbChecked - да;
    cbGrayed - не уверен.
    type TListBoxStyle = (IbStandard, IbOwnerDrawFixed, IbOwnerDrawVariable); Property Style: TListBoxStyle;
    Определяет способ прорисовки флажков компонента:
    IbStandard - флажок прорисовывает Windows;
    IbOwnerDrawFixed -компонент использует программный метод прорисовки флажков, каждый из которых имеет одинаковую высоту ItemHeight;
    IbOwnerDrawVariable - флажки прорисовываются программно и могут иметь разную высоту.
    Property TabWidth: Integer;
    Определят ширину табуляционного пробела.
    Property TopIndex: Integer;
    Содержит индекс самого первого отображаемого флажка.
    Для компонента определено событие:
    property OnClickCheck: TNotifyEvent;
    которое наступает при изменении состояния любого переключателя.
     
     
    TEdit Окно редактирования для ввода пользователем однострочных текстов. Может использоваться для отображения текста
    Модуль stdctrls
    Описание: В компоненте TEdit вводимый и выводимый текст содержится в свойстве Text. Это свойство можно устанавливать в процессе проектирования или задавать программно. Выравнивание текста невозможно. Перенос строк тоже невозможен. Текст, не помещающийся по длине в окно, просто сдвигается и пользователь может перемещаться по нему с помощью курсора. Свойство AutoSize позволяет автоматически подстраивать высоту (но не ширину) окна под размер текста.
    Окно редактирования снабжено многими функциями, свойственными большинству редакторов. Например, в нем предусмотрены типичные комбинации "горячих" клавиш: Ctrl-C - копирование выделенного текста в буфер обмена Clipboard (команда Copy), Ctrl-X - вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V - вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z - отмена последней команды редактирования.
    Свойство AutoSelect определяет, будет ли автоматически выделяться весь текст при передаче фокуса в окно редактирования. Его имеет смысл задавать равным true в случаях, когда при переключении в данное окно пользователь будет скорее заменять текущий текст, чем исправлять его. Имеются также свойства только времени выполнения SelLength, SelStart, SelText, определяющие соответственно длину выделенного текста, позицию перед первым символом выделенного текста и сам выделенный текст. Если выделенного текста нет, то свойство SelStart просто определяет текущее положение курсора.
    Свойство MaxLength определяет максимальную длину вводимого текста. Если MaxLength = 0, то длина текста не ограничена. В противном случае значение MaxLength указывает максимальное число символов, которое может ввести пользователь.
    Свойство Modified, доступное только во время выполнения, показывает, проводилось ли редактирование текста в окне. Если вы хотите использовать это свойство, то в момент начала работы пользователя с текстом Modified надо установить в false. Тогда при последующем обращении к этому свойству можно по его значению (true или false)  
     
    Рис.1: запуск формы
     
    Рис.2: просмотр событий объекта ТEdit
     
    Программный код:  
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
      Edit1: TEdit;
      ListBox1: TListBox;
      procedure Edit1Change(Sender: TObject);
      procedure Edit1Click(Sender: TObject);
      procedure Edit1ContextPopup(Sender: TObject; MousePos: TPoint;
      var Handled: Boolean);
      procedure Edit1DblClick(Sender: TObject);
      procedure Edit1DragDrop(Sender, Source: TObject; X, Y: Integer);
      procedure Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
      procedure Edit1EndDock(Sender, Target: TObject; X, Y: Integer);
      procedure Edit1EndDrag(Sender, Target: TObject; X, Y: Integer);
      procedure Edit1Enter(Sender: TObject);
      procedure Edit1Exit(Sender: TObject);
      procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
      procedure Edit1KeyPress(Sender: TObject; var Key: Char);
      procedure Edit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
      procedure Edit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
      procedure Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
      procedure Edit1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
      procedure Edit1StartDock(Sender: TObject;
      var DragObject: TDragDockObject);
      procedure Edit1StartDrag(Sender: TObject; var DragObject: TDragObject);
      private
      { Private declarations }
      public
      { Public declarations }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Edit1Change(Sender: TObject);
    begin
      ListBox1.AddItem('Change',ListBox1);
    end;
     
    procedure TForm1.Edit1Click(Sender: TObject);
    begin
      ListBox1.AddItem('Click',ListBox1);
    end;
     
    procedure TForm1.Edit1ContextPopup(Sender: TObject; MousePos: TPoint;
      var Handled: Boolean);
    begin
      ListBox1.AddItem('ContextPopup',ListBox1);
    end;
     
    procedure TForm1.Edit1DblClick(Sender: TObject);
    begin
      ListBox1.AddItem('DblClick',ListBox1);
    end;
     
    procedure TForm1.Edit1DragDrop(Sender, Source: TObject; X, Y: Integer);
    begin
      ListBox1.AddItem('DragDrop',ListBox1);
    end;
     
    procedure TForm1.Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    begin
      ListBox1.AddItem('DragOver',ListBox1);
    end;
     
    procedure TForm1.Edit1EndDock(Sender, Target: TObject; X, Y: Integer);
    begin
      ListBox1.AddItem('EndDock',ListBox1);
    end;
     
    procedure TForm1.Edit1EndDrag(Sender, Target: TObject; X, Y: Integer);
    begin
      ListBox1.AddItem('EndDrag',ListBox1);
    end;
     
    procedure TForm1.Edit1Enter(Sender: TObject);
    begin
      ListBox1.AddItem('Enter',ListBox1);
    end;
     
    procedure TForm1.Edit1Exit(Sender: TObject);
    begin
    ListBox1.AddItem('Exit',ListBox1);
    end;
     
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      ListBox1.AddItem('KeyDown',ListBox1);
    end;
     
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      ListBox1.AddItem('KeyPress',ListBox1);
    end;
     
    procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      ListBox1.AddItem('KeyUp',ListBox1);
    end;
     
    procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      ListBox1.AddItem('MouseDown',ListBox1);
    end;
     
    procedure TForm1.Edit1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      ListBox1.AddItem('MouseMove',ListBox1);
    end;
     
    procedure TForm1.Edit1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      ListBox1.AddItem('MouseUp',ListBox1);
    end;
     
    procedure TForm1.Edit1StartDock(Sender: TObject;
      var DragObject: TDragDockObject);
    begin
      ListBox1.AddItem('StartDock',ListBox1);
    end;
     
    procedure TForm1.Edit1StartDrag(Sender: TObject;
      var DragObject: TDragObject);
    begin
      ListBox1.AddItem('StartDrag',ListBox1);
    end;
     
    end.
     
     
     
    TMaskEdit TObject – TPersistent – TComponent – TControl – TWinControl – TCustomEdit – TcustomMaskEdit – TmaskEdit
    TObject Класс TObject инкапсулирует основные функции, свойственные всем объектам Delphi. Интерфейс TObject обеспечивает:
    возможность создания, управления и разрушения экземпляров объектов, включая выделение под них памяти, инициализацию и освобождение памяти после их уничтожения; поддержку информации об объектах и типах; поддержку обработки сообщений. Все классы в Delphi являются прямыми или косвенными наследниками TObject. Прямое наследование используется только при объявлении простых классов, объекты которых не являются компонентами, не могут присваиваться друг другу и не участвуют в операциях обмена с потоками. Подавляющее большинство классов являются косвенными наследниками TObject и образуются от производных классов. Если при объявлении нового типа объектов не указывается класс-предок, то Delphi считает TObject предком нового класса.
    Во всех объектах, которые используются в программах, допустимо применять методы, определенные в классе TObject.
    Метод
    Описание
    constructor Create;
    Конструктор. Создает новый экземпляр объекта и инициирует обработчик исключительных ситуаций. Не осуществляет инициализацию каких-либо данных, поэтому перегружается в классах-наследниках.
    destructor Destroy; virtual;
    Деструктор. Производит действия по уничтожению экземпляра объекта. Рекомендуется вызывать не Destroy, а Free.
    procedure Free;
    Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует.
    class function NewInstance: TObject; virtual;
    Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках.
    class procedure InitInstance (Instance: Pointer) : TObject;
    Инициализирует экземпляр объекта и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен.
    procedure FreeInstance; virtual;
    Освобождает память, выделенную ранее методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти.
    function ClassType: TClass;
    Возвращает указатель на класс вызвавшего объекта.
    class function ClassName: string;
    Возвращает строку с именем класса.
    class function ClassParent: TClass;
    Возвращает указатель на класс-предок.
    class function ClassInfo: Pointer;
    Возвращает указатель на структуру, содержащую информацию о классе.
    class function InstanceSize: LongInt;
    Возвращает размер экземпляра объекта.
    class function InheritsFrom(AClass: TClass): Boolean;
    Проверяет, является ли данный класс порожденным от класса AClass и возвращает соответствующее логическое значение.
    class function ClassNameIs(const Name: string): Boolean;
    Возвращает True, если передаваемое в функцию имя совпадает с именем данного класса.
    class function MethodAddress (const Name: string): Pointer;
    Возвращает адрес метода вызвавшего объекта с заданным именем.
    class function MethodName(Address: Pointer): string;
    Возвращает имя метода с заданным адресом.
    function FieldAddress (const Name: string): Pointer;
    Возвращает адрес поля вызвавшего объекта с заданным именем.
     
    TPersistent "Persistent" в переводе с английского означает "устойчивый", "постоянный". Что же такого постоянного в одноименном классе? Ответ таков: виртуальный метод
    procedure Assign(Source: TPersistent);
    Этот важнейший метод осуществляет копирование содержимого одного объекта (source) в другой (self, т. е. в объект, вызвавший метод Assign). При этом объект-получатель остается самим собой, чего нельзя достигнуть, используя простое присваивание переменных объектного типа:
    FirstObject := SecondObject;
    Ведь в этом случае указатель на одну область адресного пространства, содержащую экземпляр класса (объект), замещается указателем на другую область адресного пространства, содержащую другой объект.
    Метод Assign позволяет продублировать объект — присвоить одному объекту значения всех свойств другого. При этом объекты не обязательно должны быть одного и того же класса; более того, они не обязательно должны находиться в отношениях "родитель-потомок". Данный метод тем и хорош, что позволяет полиморфное присвоение. Конструкция
    Clipboard.Assign(Picture);
    позволяет скопировать содержимое картинки Picture в папку обмена Windows (объект clipboard).
    Для обеспечения взаимодействия потомков класса TPersistent со средой разработки предназначен метод
    function GetNamePath: string; dynamic;
    Он возвращает имя объекта для передачи его в Инспектор объектов.
    Для взаимодействия с потоками при загрузке и сохранении компонентов предназначен следующий метод:
    procedure DefineProperties(Filer: TFiler); virtual;
    Класс TPersistent никогда не используется напрямую, от него порождаются потомки, которые должны уметь передавать другим объектам значения своих свойств, но не являться при этом компонентами.
    TComponent Предком для всех компонентов библиотеки является класс TComponent. Он инкапсулирует наиболее общие свойства и методы компонентов, включая:
    возможность включать компонент в палитру компонентов и работать с ним при визуальном проектировании; способность быть владельцем других компонентов или управляться другими компонентами; возможность обмена с потоками и файлами; возможность служить оболочкой элементов ActiveX и других объектов. Объекты типа TComponent не создаются. Этот класс используется как базовый при объявлении класса невизуального компонента, который может присутствовать в палитре компонентов и применяться в процессе проектирования.
    Этот класс имеет небольшое количество свойств
    Свойство
    Описание
    property ComObject: IUnknown;
    Защищенное свойство, возвращающее ссылку на интерфейс в компонентах, поддерживающих стандарт COM.
    property ComponentCount: Integer;
    Число компонентов, которыми владеет данный компонент. Равно числу элементов в массиве Components. Может использоваться вместе с ComponentIndex.
    property ComponentIndex: Integer;
    Индекс компонента в массиве Components. Нумерация элементов в массиве начинается с 0.
    property Components [Index: Integer]: TComponent;
    Массив компонентов, которыми владеет данный компонент.
    property ComponentState: TComponentState; type TCоmponentState = set of (csLoading, csReading, csWriting, csDestroying, csDesigning);
    Состояние компонента в процессе визуального проектирования (только для чтения). Эти состояния используются средой во время визуального проектирования, при загрузке/выгрузке компонентов из файлов ресурсов. Во время исполнения приложения множество состояний пусто. Во время выполнения не используется.
    property ComponentStyle: TComponentStyle; type TComponentStyle = set of (csInheritable, csCheckPropAvailcsSubComponent, csTransient);
    Определяет множество флагов стиля компонента. В частности, стиль csInheritable указывает, что компонент может принадлежать форме.
    property DesignInfo: Longint;
    Используется в среде Delphi при проектировании форм. В нем хранятся координаты верхнего левого угла компонента во время разработки. В приложениях не используется.
    property property Name: TComponentName; type TComponentName = string[63];
    Имя компонента. Имя компонента не может быть пустой строкой; в модуле не может быть и двух компонентов с одинаковыми именами. Это не просто то имя, которое использует программист при обращении к свойствам методам компонента, а компилятор - при компиляции этих обращений. Компонент знает свое имя на этапе выполнения программы, но что еще более важно - на этапе визуального проектирования приложения (будем называть это еще этапом разработки).
    property Owner: TComponent;
    Определяет владельца данного компонента. Форма является владельцем всех расположенных на ней компонентов. В свою очередь объект Application является владельцем всех форм. Когда освобождается память, занимаемая владельцем, автоматически освобождается память всех компонентов, которыми он владел. Свойство только для чтения.
    property Tag: Longint;
    Позволяет "привязать" к каждому компоненту целое число. Значение этого свойства системой не используется, поэтому разработчик может использовать его по своему усмотрению.
    property VCLComObject: Pointer;
    Используется только в среде Delphi-компонентов, поддерживающих стандарт COM.
     
    В классе TComponent определено большое количество методов. Приведем те из них, которые часто используются при работе с компонентами. Остальные используются для внутренних потребностей Delphi.
    Метод
    Описание
    constructor Create(AOwner: TComponent); virtual;
    Вызов конструктора компонента.
    destructor Destroy; override;
    Вызов деструктора компонента. Вместо этого метода лучше использовать методы Free или Release.
    function FindComponent(const AName: string): TComponent;
    Ищет в списке Components компонент с заданным именем.
    procedure FreeNotification (AComponent: TComponent);
    Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически.
    procedure InsertComponent (AComponent: TComponent);
    Добавление указанного компонента в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться только при добавлении компонента в список другого владельца.
    procedure RemoveComponent (AComponent: TComponent);
    Удаление указанного компонента из списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться только при удалении компонента из списка другого владельца.
    procedure DestroyComponents;
    Удаляет все компоненты из списка.
    TControl Класс TControl является базовым абстрактным классом для всех визуальных компонентов Delphi, то есть для компонентов, которые пользователь может видеть и которыми манипулирует во время выполнения приложения. Все они имеют общие свойства, методы и события, определяющие место их размещения, расцветку, реакцию на нажатие клавиш или кнопок мыши и т.д.
    Защищенные свойства и методы класса TControl используются в их потомках. Если требуется создать новый класс визуального компонента, его надо создавать как производный от TControl или от его потомков.
    Основные свойства класса TControl
    Свойство
    Описание
    property Action: TBasicAction;
    Определяет действие, связанное с данным управляющим элементом.
    property Align: TAlign; TAlign=(alNone, alTop, alBottom, alLeft, alRight, alClient);
    Определяет способ выравнивания компонента в контейнере (родительском компоненте).
    property Anchors: TAnchors;
    Определяет привязку данного компонента к родительскому при изменении размеров последнего.
    property AutoSize: Boolean;
    Определяет, будет ли высота элемента автоматически адаптироваться к размеру символов текста.
    property BoundsRect: TRect;
    Определяет координаты углов компонента в координатах содержащего его контейнера.
    property Caption: String;
    Строка текста, идентифицирующая компонент для пользователя. Обычно это надпись на метке, кнопке и других компонентах.
    property ClientHeight: Integer;
    Высота клиентской области в пикселях.
    property ClientOrigin: TPoint;
    Координаты положения на экране левого верхнего угла клиентской области компонента. Свойство только для чтения.
    property ClientRect: TRect;
    Определяет координаты углов клиентской области компонента.
    property ClientWidth: Integer;
    Горизонтальный размер клиентской области в пикселях.
    property Color:TColor;
    Цвет фона компонента.
    property Constraints: TSizeConstraints;
    Позволяет задавать ограничения на допустимые изменения размеров компонента при изменении размеров окна приложения.
    property ControlState: TControlState;
    Характеризует текущее состояние компонента во время выполнения приложения. Используется при создании новых классов.
    property ControlStyle: TControlStyle;
    Определяет характеристики стиля компонента. Используется при создании новых классов.
    property Cursor: TCursor;
    Определяет вид курсора мыши, при попадании его в область компонента.
    property DesktopFont: Boolean;
    Определяет, использует ли компонент для отображения текста изображение шрифта Windows.
    property DragCursor: TCursor;
    Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания.
    property DragKind: TDragKind; TDragKind = (dkDrag, dkDock);
    Определяет, будет ли объект перетаскиваться по технологии Drag&Drop или Drag&Doc.
    property DragMode: TDragMode; TDragMode = (dmManual, dmAutomatic);
    Определяет автоматическое или программное начало процесса перетаскивания.
    property Enabled: Boolean;
    Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
    property Floating: Boolean;
    Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения.
    property Font: TFont;
    Определяет атрибуты шрифта.
    property Height: Integer;
    Высота компонента в пикселях.
    property Hint: String;
    Определяет текст подсказки.
    property IsControl: Boolean;
    Определяет, сохраняет ли форма свои специфические свойства в поток. Свойство защищенное. Используется при создании новых компонентов.
    property Left: Integer;
    Координата левого края компонента в пикселях.
    property LRDockWidth: Integer;
    Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения.
    property MouseCapture: Boolean;
    Определяет, может ли компонент захватываться мышью. Используется для создания новых компонентов.
    property property Name: TComponentName; TComponentName=String;
    Имя компонента.
    property Parent: TWinControl;
    Определяет родительский компонент, в площади которого находится данный компонент.
    property ParentColor: Boolean;
    Определяет, что для компонента будет заимствован цвет родительского компонента.
    property ParentFont: Boolean;
    Включает и выключает использование шрифта родительского компонента.
    property ParentShowHint: Boolean;
    Включает и выключает свойство ShowHint родительского компонента.
    property PopupMenu: TPopupMenu;
    Определяет связанный с компонентом объект всплывающего меню.
    property ScalingFlags: TScalingFlags;
    Показывает, какие атрибуты компонента еще не отмасштабированы. Используется при разработке новых компонентов.
    property ShowHint: Boolean;
    Разрешает или запрещает показывать окно подсказки.
    property TBDockHeight: Integer;
    Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения.
    property Text: TCaption; TCaption=String;
    Текст, связанный с данным компонентом.
    property Top: Integer;
    Координата верхнего края компонента в пикселях.
    property UndockHeight: Integer;
    Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения.
    property UndockWidth: Integer;
    Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения.
    property Visible: Boolean;
    Делает компонент видимым или невидимым.
    property Width: Integer;
    Горизонтальный размер компонента в пикселях.
    property WindowProc: TWndMethod;
    Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.
    property WindowText: PChar;
    Содержит текст, связанный с данным компонентом.
     
    Методы класса TControl
    Метод
    Описание
    procedure BeginDrag(Immediate: Boolean; Threshold: Integer = -1);
    Начинает процесс перетаскивания компонента.
    procedure BringToFront;
    Переносит компонент выше других компонентов на той же форме.
    Changed;
    Используется, чтобы послать сообщение CM_CHANGED родительскому компоненту, если в свойствах данного компонента сделаны какие-то изменения, на которые должен прореагировать родительский компонент.
    procedure ChangeScale(M, D: Integer); dynamic;
    Изменяет масштаб компонента.
    procedure Click; dynamic;
    Вызывает обработчик события OnClick при щелчке мыши. Используется при проектировании новых классов.
    function ClientToScreen(const Point: TPoint): TPoint;
    Преобразует координаты клиентской области в координаты экрана.
    constructor Create(AOwner: TComponent); override;
    Конструктор переопределен для задания начальных значений свойств компонента.
    procedure DblClick; dynamic;
    Вызывает обработчик события OnDblClick при двойном щелчке мыши. Используется при проектировании новых классов.
    procedure DoEndDrag(Target:TObject; X, Y: Integer); dynamic;
    Вызывает обработчик события OnEndDrag. Используется при проектировании новых классов.
    procedure DoStartDrag(var DragObject: TDragObject); dynamic;
    Вызывает обработчик события OnStartDrag. Используется при проектировании новых классов.
    procedure DragCanceled; dynamic;
    Прерывает перетаскивание. Используется при проектировании новых классов.
    procedure DragDrop(Source: TObject; X, Y: Integer);
    Вызывает обработчик события OnDragDrop. Используется при проектировании новых классов.
    procedure EndDrag(Drop: Boolean);
    Завершает (успешно или неуспешно) перетаскивание. Используется при проектировании новых классов.
    GetTextBuf;
    Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами.
    GetTextLen;
    Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf.
    procedure Hide;
    Делает компонент невидимым.
    procedure Invalidate; virtual;
    Вызывает полную перерисовку испорченного изображения компонента.
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); dynamic;
    Вызывает обработчик события OnMouseDown. Используется при проектировании новых классов.
    procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); dynamic;
    Вызывает обработчик события OnMouseUp. Используется при проектировании новых классов.
    procedure Refresh;
    Немедленно перерисовывает компонент на экране, вызывая метод Repaint.
    procedure Repaint;
    Немедленно перерисовывает компонент на экране, вызывая, при необходимости, метод Invalidate.
    function ScreenToClient(const Point: TPoint): TPoint;
    Преобразует координаты экрана в координаты клиентской области компонента.
    SendCancelMode;
    Прерывает модальное состояние элемента.
    procedure SendToBack;
    Переносит компонент ниже других компонентов в той же форме.
    procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); virtual;
    Задает сразу четыре свойства: Left, Top, Width и Height.
    SetTextBuf;
    Записывает в заданный буфер значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами.
    procedure Show;
    Делает видимым невидимый компонент.
    procedure UpdateBoundsRect(const R: TRect);
    Изменяет, как и SetBounds, полное описание BoundsRect, но не перерисовывает изображение компонента на экране.
    В классе TControl, в отличие от предшествующих ему в иерархии, описаны не только свойства и методы, но и следующие события:
    Событие
    Описание
    property OnClick: TNotifyEvent;
    Событие при щелчке на компоненте и некоторых других действиях пользователя.
    property OnDblClick: TNotifyEvent;
    Событие при двойном щелчке на компоненте.
    property OnDragDrop: TDragDropEvent; type TDragDropEvent = procedure(Sender, Source: TObject; X, Y: Integer) of object;
    Событие при отпускании перетаскиваемого компонента.
    property OnDragOver: TDragOverEvent; type TDragOverEvent = procedure(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean) of object;
    Событие при перетаскивании объекта над компонентом.
    property OnEndDrag: TEndDragEvent; type TEndDragEvent = procedure(Sender, Target: TObject; X, Y: Integer) of object;
    Событие при окончании или прерывании перетаскивания.
    property OnMouseDown: TMouseEvent; type TMouseEvent = procedure(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) of object;
    Событие при нажатии кнопки мыши над объектом.
    property property OnMouseMove: TMouseMoveEvent; type TMouseMoveEvent = procedure(Sender: TObject; Shift: TShiftState; X, Y: Integer) of object;
    Событие при перемещении указателя мыши над объектом.
    property OnMouseUp: TMouseEvent;
    Событие при отпускании нажатой кнопки мыши над объектом.
    property property OnStartDrag: TStartDragEvent; type TStartDragEvent = procedure(Sender: TObject; var DragObject: TDragObject) of object;
    Событие при начале перетаскивания объекта.
    TWinControl Класс TWinControi обеспечивает создание и использование оконных элементов управления. Напомним, что оконный элемент управления имеет системный дескриптор окна (hwnd). С помощью этого дескриптора вы можете вызывать функции API Windows, если средств VCL вам недостаточно для решения задачи. Оконными элементами являются не только формы и диалоги, но и большинство стандартных элементов управления: окна ввода, списки, панели и т. п.
    Свойства класса TWinControl
    Свойство
    Описание
    property Brush: TBrush;
    Определяет цвет и стиль заполнения фона окна. Свойство только для чтения.
    property ClientOrigin: TPoint;
    Экранные координаты левого верхнего угла клиентской области компонента. Свойство только для чтения.
    property ClientRect: TRect;
    Содержит размер клиентской области компонента. Свойство только для чтения.
    property ControlCount: Integer;
    Число дочерних компонентов данного оконного элемента. Свойство только для чтения.
    property Controls: TControl;
    Массив дочерних компонентов оконного элемента. Свойство только для чтения.
    property Ctl3D: Boolean;
    Определяет, будет ли компонент выглядеть объемным или плоским.
    property Handle: HWND;
    Дескриптор оконного элемента, используемый при вызове функций API Windows. Свойство только для чтения.
    property HelpContext: THelpContext;
    Номер контекстно-зависимой встроенной справки.
    property ImeMode: TImeMode; property ImeName: String;
    Определяют обработку символов в редакторах. Обычно значения по умолчанию не изменяют.
    property ParentCtl3D: Boolean;
    Управляет наследованием родительского свойства Ctl3D.
    property ParentWindow: HWnd;
    Дескриптор родительского окна, не являющегося визуальным компонентом, например, TActiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется.
    property Showing: Boolean;
    Определяет, виден ли компонент в данный момент. Свойство только для чтения.
    property TabOrder: TTabOrder;
    Указывает позицию компонента в последовательности табуляции.
    property TabStop: Boolean;
    Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции.
    property WindowHandle: HWND;
    То же самое, что Handle, но это свойство можно читать и изменять.
     
    TCustomEdit  
    Назначение
    Clear
    Очистить содержимое элемента управления редактированием
    ClearSelection
    Очистить выбранный текст в элементе управления редактированием
    CopyToClipboard
    Скопировать текст из элемента управления редактированием в буфер обмена.
    CutToClipboard
    Вырезать текст в элементе управления редактированием и скопировать его в буфер обмена.
    GetSelTextBuf
    Скопировать выбранный текст из элемента управления в буфер.
    Modified
    Определить, был ли изменен элемент управления.
    PasteFromClipboard
    Вставить текст из буфера обмена в элемент управления редактированием.
    SelectAll
    Выбрать весь текст в элементе управления.
    SelLength
    Определить длину выбранного текста в элементе управления.
    SelStart
    Определить исходную позицию выбранного текста.
    SelText
    Получить доступ к выбранному тексту в элементе управления редактирования.
    SetSelTextBuf
    Скопировать текст из буфера в элемент управления редактированием, заменяя весь выбранный текст.
     
    TCustomMaskEdit Класс TCustomMaskEdit порожден непосредственно от TCustomEdit и является абстрактным базовым классом для всех элементов управления редактированием по маске. Класс MaskEdit публикует свойства и методы, представленные классом TCustomMaskEdit.
     
    Описание
    EditText
    Получить доступ к значению Text, которое предоставляется пользователю во время выполнения.
    IsMasked
    Определить, используется ли маска.
    TMaskEdit Класс TMaskEdit является производным от TCustomMaskEdit и обеспечивает важные функциональные возможности, отсутствующие в классе TEdit Delphi — возможность ограничения пользовательского ввода. Элементы управления редактированием по маске могут ограничивать количество символов, которые может вводить пользователь, и тип введенных символов (алфавитный, цифровой и т.д.), а также предоставлять маски ввода для вещей, подобных телефонным номерам и почтовым индексам. Элементы управления редактированием по маске применимы, когда вы должны обеспечить ввод данных и хотите, чтобы этот ввод форматировался автоматически.
    Если не считать возможностей редактирования по маске, элемент управления редактирования по маске функционирует точно так же, как и обычный элемент управления редактирования.
     
    Описание
     
    CharCase
    Определить регистр текста в элементе управления.
    Нет
    EditMask
    Определить маску, используемую для ограничения пользовательского ввода.
    Нет
    MaxLength
    Определить максимальную длину текста в элементе управления.
    Нет
    PasswordChar
    Определить символ, используемый для сокрытия символов, если элемент управления используется для ввода пароля.
    Нет
    ReadOnly
    Определить, может ли пользователь редактировать текст, содержащийся в элементе управления.
    Нет
     
     
    Variant Описание С помощью типов данных программист указывает компилятору, как хранить информацию в программе. При объявлении переменной необходимо указать ее тип. Одни типы уже определены в языке, другие программисту приходится задавать самому. В ранних языках программирования допускалось ограниченное число типов данных, и Pascal оказался одним из первых языков, допускающих определение в программе новых типов.
    Типы данных, определяемые пользователем, обычно задаются в разделе определения типов программы или модуля (unit), однако это можно делать и внутри процедур или функции. Объявления типов действуют в пределах того блока, в котором они размещены. Вне этого блока ссылаться на такие типы нельзя. Внутри же они заменяют все внешние типы с тем же именем. Объявленные типы данных можно применять в любом месте области их видимости; запрещена только ссылка определяемого типа на самого себя (тут, однако, есть одно исключение, касающееся указателей).
    Объявления типов в Pascal являются для компилятора чем-то вроде схем, которые он должен запомнить на случай, если вдруг встретит в программе ссылки на тот или иной тип. Само по себе объявление типа не вносит в программу никаких изменений.
    Что же касается объявлений var, то они задают компилятору некоторые действия, связанные с ранее объявленными типами. Тип переменной ограничивает как ее значения, так и операции, которые можно выполнять с этими значениями.
    Определения типов и переменных могут размещаться в нескольких местах компонентов программы. Выглядят же они следующим образом.
    type   typel = type definitioni;   //Новые типы данных определяются в разделе "type". Каждому новому   // типу присваивается имя, затем он определяется через уже   //существующие типы.   type2 = type__definition2;   // В одном разделе "type" можно объявить несколько типов.   //Самое простое определение типа состоит из имени типа,   type3 = typel; // определенного ранее.   // Новые переменные объявляются в   var // разделе "var". Каждой новой   var1: type definitions;   // переменной сначала присваивается имя, а затем - тип (на основе   // ранее определенных типов).   var2, var3: type definition4; // В одном разделе "var" можно объявить несколько переменных.   // Нескольким переменным можно присваивать один и тот же тип.   var4 : typel;   // Программу легче читать, если переменным присвоены   //существующие типы.
    Тип Variant предназначен для представления значений, которые могут динамически изменять свой тип. Если любой другой тип переменной зафиксирован, то в переменные типа Variant можно вносить переменные разных типов. Шире всего тип Variant применяется в случаях, когда фактический тип данных изменяется или неизвестен в момент компиляции.
    Переменным типа Variant можно присваивать любые значения любых целых, действительных, строковых и булевых типов. Для совместимости с другими языками программирования предусмотрена также возможность присвоения этим переменным значений даты/времени и объектов OLE Automation. Кроме того, вариантные переменные могут содержать массивы переменной длины и размерности с элементами указанных типов.
    Все целые, действительные, строковые, символьные и булевы типы совместимы с типом Variant в отношении операции присваивания. Вариантные переменные можно сочетать в выражениях с целыми, действительными, строковыми, символьными и булевыми; при этом все необходимые преобразования Delphi выполняет автоматически. Можно произвольно задавать для выражении тип Variant в форме Variant (X).
    Значение Unassigned применяется для указания, что вариантной переменной пока не присвоено значение какого бы то ни было типа. Значение Null указывает на наличие в переменной данных неизвестного типа или потерю данных.
    Значение Unassigned присваивается вариантным переменным автоматически при их создании, независимо от того, локальная это переменная или глобальная, и является ли она частью другой, структурной, переменной, такой как запись или массив. Unassigned означает, что к данной вариантной переменной еще не обращались. Null же означает, что к вариантной переменной обращались, но не ввели в нее никакой информации. Таким образом, Null указывает, что значение вариантной переменной недействительно или отсутствует.
    Вариантные переменные предоставляют широкие возможности формирования выражений с переменными разных типов. Однако за это приходится платить большим, по сравнению с жестко задаваемыми типами, расходом памяти. К тому же на выполнение операций с вариантными переменными требуется больше времени.
    Интересна проблема использования вариантной переменной как массива. Элементы этого массива должны быть одного типа. На первый взгляд, это вполне естественное условие. Однако элементам массива можно присвоить и тип Variant! Тогда каждый элемент сможет содержать информацию разных типов, в том числе массив Variant. Как правило, вариантные массивы создаются с помощью процедуры VarArrayCreate.
    Для передачи двоичной информации между контроллерами автоматизации OLE и серверами обычно применяются вариантные массивы с элементами varByte. Вариантные массивы типа varByte не могут подвергаться никаким преобразованиям. Нельзя также переформатировать содержащуюся в них двоичную информацию. Эффективный доступ к ним осуществляется с помощью процедур VarArrayLock и VarArrayUnlock.
    Элементы вариантного массива не могут иметь тип varString. Для создания вариантных массивов со строковыми элементами следует выбрать тип varOleStr.
    Процедуры и функции обработки вариантных массивов
    Процедура/функция
    Описание
    VarArrayCreate
    Создает вариантный массив с заданными пределами и типом
    VarArrayDimCount
    Возвращает число измерений данного вариантного массива
    VarArrayHighBound
    Возвращает верхний предел измерения вариантного массива
    VarArrayLock
    Фиксирует вариантный массив
    VarArrayLowBound
    Возвращает нижний предел измерения вариантного массива
    VarArrayOf
    Возвращает вариантный массив с указанными элементами
    VarArrayRedim
    Изменяет верхний предел вариантного массива
    VarArrayUnlock
    Отменяет фиксацию вариантного массива
    VarAsType 
    Преобразует вариантную переменную в указанный тип
    VarCast
    Преобразует вариантную переменную в указанный тип и записывает значение
    VarClear
    Сбрасывает значение вариантной переменной
    VarCopy
    Копирует одну вариантную переменную в другую 
    VarFromDateTime
    Возвращает вариантную переменную, содержащую переменную даты/времени 
    VarIsArray
    Возвращает True, если вариантная переменная является массивом
    VarIsEmpty
    Возвращает True, если вариантная переменная содержит Unassigned
    VarIsNull 
    Возвращает True, если вариантная переменная содержит Null
    VarToDateTime
    Преобразует вариантную переменную в значение даты/времени
    VarType
    Преобразует вариантную переменную в указанный тип и записывает значение
     Типы значении, которые можно присваивать вариантным переменным, и вариантные типы результата.
    Тип выражения 
    Вариантный тип
    Целый 
    varlnteger
    Действительный, кроме Currency
    varDouble
    Currency
    varCurrency
    Строковый и символьный
    varString
    Булев
     varBoolean
    Вариантные переменные в отношении операции присвоения совместимы с элементарными типами данных Object Pascal (Integer, Real, String и Boolean). Все нужные преобразования Delphi выполняет автоматически. При необходимости конкретно указать, что вариантное значение надо интерпретировать как целое, действительное, строковое или булево, следует задать тип в форме TypeName (V), где TypeName - идентификатор соответствующего типа, V- выражение Variant. Задание типа изменяет только способ считывания значения из вариантной переменной, а не само значение внутри ее. Внутреннее же представление изменяется с помощью процедур VarAsType и VarCast.
    Примеры использования var myVar : Variant; begin // Назначение различных значений Variant // и затем показ результирующего типа Variant ShowMessage('Variant значение = not yet set'); ShowBasicVariantType(myVar); // Простое значений myVar := 123; ShowMessage('Variant значение = 123'); ShowBasicVariantType(myVar); // Вычисленное значение, используя Variant и константу myVar := myVar + 456; ShowMessage('Variant значение = 123 + 456'); ShowBasicVariantType(myVar); myVar := 'String '+IntToStr(myVar); ShowMessage('Variant значение = String 579'); ShowBasicVariantType(myVar); end; // Показ тип variant procedure TForm1.ShowBasicVariantType(varVar: Variant); var typeString : string; basicType : Integer; begin // Получение основного типа Variant : // это означает, исключение массива или косвенных модификаторов basicType := VarType(varVar) and VarTypeMask; // Установка строки для согласования типа case basicType of varEmpty : typeString := 'varEmpty'; varNull : typeString := 'varNull'; varSmallInt : typeString := 'varSmallInt'; varInteger : typeString := 'varInteger'; varSingle : typeString := 'varSingle'; varDouble : typeString := 'varDouble'; varCurrency : typeString := 'varCurrency'; varDate : typeString := 'varDate'; varOleStr : typeString := 'varOleStr'; varDispatch : typeString := 'varDispatch'; varError : typeString := 'varError'; varBoolean : typeString := 'varBoolean'; varVariant : typeString := 'varVariant'; varUnknown : typeString := 'varUnknown'; varByte : typeString := 'varByte'; varWord : typeString := 'varWord'; varLongWord : typeString := 'varLongWord'; varInt64 : typeString := 'varInt64'; varStrArg : typeString := 'varStrArg'; varString : typeString := 'varString'; varAny : typeString := 'varAny'; varTypeMask : typeString := 'varTypeMask'; end; // Показ типа Variant ShowMessage('Variant тип = '+typeString); end;
     
    Заключение Целью настоящей  работы являлось изучение свойств, методов и событий компонент Delphi.
    Для достижения поставленной цели были решены  следующие задачи:
    Исследованы все методы, свойства и события, на которые можно писать обработчик событий для компонента TCheckListBoxРазработано приложение, демонстрирующее свойства и методы для компонента TEditПостроен список предков для компонента TMaskEditИсследована и описана  область применения переменных типа Variant  В качестве методологического обеспечения в работе использованы работы отечественных и зарубежных авторов, справочная литература, интернет-ресурсы.
    Таким образом, цель настоящей работы можно считать достигнутой.
     
     
    Список литературы А. Архангельский, Приемы программирования в Delphi на основе VCL. – Москва.: Бином, 2006. – 928 с.А. Хомоненко, В. Гофман, Е. Мещеряков, В. Никифоров: Delphi 7 в подлиннике 2003. – 1200с.М. Фленов, Библия для программиста среде Delphi 2001. – 175 с.Н. Культин, Delphi Программирование на Object Pascal – БХВ – Санкт – Петербург, 1999. – 469 с.П. Дарахвелидзе, Е. Марков Программирование в Delphi 7. – СПб.: БХВ – Петербург, 2003. – 289 с.Интернет справочники и руководства.  
Если Вас интересует помощь в НАПИСАНИИ ИМЕННО ВАШЕЙ РАБОТЫ, по индивидуальным требованиям - возможно заказать помощь в разработке по представленной теме - Изучение свойств, методов и событий компонент Delphi ... либо схожей. На наши услуги уже будут распространяться бесплатные доработки и сопровождение до защиты в ВУЗе. И само собой разумеется, ваша работа в обязательном порядке будет проверятся на плагиат и гарантированно раннее не публиковаться. Для заказа или оценки стоимости индивидуальной работы пройдите по ссылке и оформите бланк заказа.