остей// (AutoSize, Alignment, BiDiMode і т.п.), які// не використовуються в новому компоненті. property Color; property Font; property ParentColor; property ParentFont; property ParentShowHint; property PopupMenu; property ShowHint; property Transparent; property Visible; end; procedure Register; implementation constructor TFarClock.Create (AOwner: TComponent); {У конструкторі створюється вкладений компонент FTimer і ініціюється його робота} begin inherited Create (AOwner);// Успадкований конструктор FTimer: = TTimer.Create (Self);// Створюємо таймер FTimer.OnTimer: = UpdateClock;// Його обробник OnTimer FTimer.Enabled: = True// Запускаємо таймер end; procedure TFarClock.UpdateClock (Sender: TObject); {Ця процедура - обробник події OnTimer вбудованого таймера. Оновлює відображення часу в компоненті} begin Caption: = TimeToStr (Time);// Змінюємо напис Invalidate;// отрісовиваємих компонент end; procedure Register; begin RegisterComponents ('Far', [TFarClock]); end; end. Разом з властивістю Caption не публікуються багато інших властивостей стандартної мітки, які зайві в новому компоненті. Наприклад, значення властивості AutoSize завжди передбачається рівним True, тому не публікуються властивості Alignment, Height і Width. p align="justify"> Створення віконних компонентів
Віконні компоненти - це об'єкти, які з'являються у вікні і з якими користувач може взаємодіяти. Кожен віконний компонент має дескриптор віконного ресурсу, що міститься у властивості Handle, за допомогою якого операційна система керує цим компонентом. Віконний ресурс дозволяє компоненту отримувати фокус введення і може бути переданий API-функцій Windows. Всі віконні компоненти є спадкоємцями класу TWinControl. У них входять так звані контейнери компонентів (форми, панелі, компоненти групування), а також компоненти, що потребують фокусі введення (кнопки, списки, поля введення). Хоча ви можете успадковувати оригінальний компонент безпосередньо від TWinControl, Delphi надає для цих цілей також клас TCustomControl, який є спадкоємцем від TWinControl і доповнює його властивістю Canvas. p align="justify"> Створення графічних компонентів
Якщо отримання фокусу введення вашим компонентом не передбачено, ви можете зробити його графічним компонентом. Графічні компоненти ідентичні віконним, але не мають віконних процедур, тому споживають менше системних ресурсів. Компоненти типу TLabel, які ніколи не отримують фокус введення, є графічними. Хоча ці елементи не можуть отримати фокус введення, ви можете змусити їх реагувати на певні події миші (клацання, подвійне клацання і т.п.). Щоб створити власні графічні компоненти, наслідуйте їх від класу TGraphicControl. Цей клас надає канву для малювання і в Windows може керувати всіма подіями WM_PAINT (потрібно просто перекрити метод Paint). p align="justify"> Створення підкласів для елементів управління Windows
У традиційному Windows-програмуванні в...