Реферат Курсовая Конспект
Инициализируем растры 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, в которых будут хранится
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов