рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Инициализируем растры TBitmap, в которых будут хранится

Инициализируем растры TBitmap, в которых будут хранится - раздел Изобретательство, Разработка собственных компонентов //Фон И Сам Рисунок Часов. Fbgbitmap:= Tbitmap.create; Ffont:=...

//фон и сам рисунок часов. FBGBitmap:= TBitmap.Create; FFont:=TFont.Create;;

FBitmap:= TBitmap.Create; FBitmap.Width := Width; FBitmap.Height := Height;


 

//Выставляем формат времени
DateFormat:='tt';

//Запускаем таймер Ticker := TTimer.Create( Self); //Интервал работы таймера -одна секунда Ticker.Interval := 1000; //По событию OnTimer будет вызыватсья процедура TickerCall Ticker.OnTimer := TickerCall; //Включаем таймер Ticker.Enabled := true;

//Устанавливаем цвета поумолчанию FFaceColor := clBtnFace; FHourArrowColor := clActiveCaption; FMinArrowColor := clActiveCaption; FSecArrowColor := clActiveCaption;

end;

Ключевое слово inheritedвызывает конструктор предка (в нашем случае TGraphicClock). Это необходимо, потому что предок тоже может делать что-то важное в конструкторе и если мы не вызовем его конструктор, то могут возникнуть проблемы.

В остальном, я надеюсь, что с конструктором всё ясно. Дальше идёт инициализация переменных. Я постарался снабдить код подробными комментариями, чтобы ты смог разобраться с происходящим. Сами переменные мы пока не добавили и я их буду описывать постепенно.

Теперь создадим деструктор. Для этого также опишем его в разделе public:

public { Public declarations } constructor Create(AOwner: TComponent); override; destructor Destroy; override;

Деструктор тоже объявляется как простая процедура, но здесь стоит ключевое слово destructor. Теперь жмём Ctrl+Shift+C и получаем заготовку для деструктора и поправляем её до вида :

destructor TGraphicClock.Destroy;

begin Ticker.Free; FBitmap.Free; FBGBitmap.Free; inherited Destroy;

end;

Здесь я освобождаю всю память выделенную для хранения картинок и объекта TTimer в конструкторе. Заметь, что в конструкторе я вызывал предка в самом начале inherited, а в деструкторе в самом конце. В конструкторе сначала нужно, чтобы инициализировался предок (он проинициализирует необходимые ссылки), а потом можно инициализировать свои вещи. В деструкторе всё наоборот – сначала уничтожает мы, а потом предок. Если в деструкторе мы сначала вызовем предка, то последующая работа с компонентом уже может быть невозможна, потому что предок уничтожит все ссылки. Поэтому я ставлю этот вызов в самом конце.

Теперь опишем все необходимые нам переменные в разделе private:

– Конец работы –

Эта тема принадлежит разделу:

Разработка собственных компонентов

Глава Разработка собственных компонентов...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Инициализируем растры TBitmap, в которых будут хранится

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Для часов обязательно понадобится таймер
Ticker: TTimer; //Картинки часов и фона FBitmap, FBGBitmap: TBitmap; /События FOnSecond, FOnMinute, FOnH

Иначе это уже запущеная программа
//Получить время DecodeCTime( Time, H, M, S); //Получить предыдущее время. DecodeCTime( PrevTime, Hp, Mp, Sp); //Сгенерировать событие OnSeco

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги