HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Fényújság komponens készítése


Példaprogram letöltése

4843 bájt

Sok helyen találkozunk fényújságon megjelenített reklámokkal, főleg az Interneten. A ScrollText komponens segítségével most már mi is könnyedén létrehozhatunk ilyen mozgó, figyelemfelkeltő feliratokat. A fényújságot nem csak reklámszövegek megjelenítésére használhatjuk, hanem bármilyen szöveg kiírására, amellyel a felhasználó figyelmét akarjuk felkelteni.

A mellékelt példaprogram megnyitása előtt a ScrollText.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A komponens Text tulajdonságában kell megadnunk azt a max. 255 karakteres szöveget, amelyet meg szeretnénk jeleníteni. Ennek a szövegnek a tulajdonságait a Font tulajdonság beállításával adhatjuk meg. Az Interval tulajdonság segítségével időzíthetjük a szöveg kiírását. Ha meg akarjuk állítani a szöveg mozgását, akkor az Active tulajdonság értékét hamisra kell állítanunk, majd ha azt ismét visszaállítjuk igazra, akkor a szöveg újra elindul.
A ScrollText komponenst a TGraphicControl osztályból származtatjuk, mivel egy grafikus komponensre van szükségünk.
A komponensnek azt kell megvalósítania, hogy egy tetszőleges, beírt szöveget, beállítható betű tulajdonságokkal megadott időközönként jobbról balra mozgasson.
A betűtípus beállításához a TFont osztályt fogjuk használni a Font tulajdonságon keresztül.
A betűk mozgatásához szükségünk van egy időzítő, azaz TTimer komponensre. Ezt az FTimer változó képviseli. Szükség van egy Interval tulajdonságra is, amellyel a fényújság sebességét befolyásolhatjuk. Amikor komponensünk Interval tulajdonságát állítjuk, tulajdonképpen az FTimer változó Interval értékét kell állítanunk.
A megjelenítendő szöveget a Text String típusú tulajdonságon keresztül állíthatjuk be. Az Active tulajdonság igazra vagy hamisra állításával a fényújság működését kapcsolhatjuk ki vagy be.
A Create metódusban hozzuk létre az FTimer és az FFont objektumokat. Az FTimer OnTimer eseményének lekezelésére a DoTimer eljárást hívjuk meg.
procedure TScrollText.DoTimer(Sender: TObject);
begin
  Dec(FX);
  if FX+Canvas.TextWidth(FText)<0 then FX:=Width;
  Invalidate;
end;
A fényújság jobbról balra fogja mozgatni a szöveget, olvasásunk irányának megfelelően. A kiírás kezdetét az FX privát változó értéke adja meg. A DoTimer metódusban addig kell csökkentenünk az FX értékét, ameddig a teljes szöveg el nem tűnik a fényújságról. Ekkor kezdhetjük a kiírást, előröl. Az Invalidate utasítással tudjuk meghívni a Paint metódust.
Amikor változtatjuk a szöveg (Text) tulajdonságot, akkor a kiírást előröl kell kezdeni, tehát FX értékét Width-re kell állítani.
A kirajzolást a Paint metódus felülírásával tudjuk megvalósítani.
procedure TScrollText.Paint;
begin
  inherited;
  Canvas.FillRect(Rect(FX,Height div 2 - Canvas.TextHeight(FText) div 2,Width,Height div 2 - Canvas.TextHeight(FText) div 2 + Canvas.TextHeight(FText)));
  Canvas.TextOut(FX,Height div 2 - Canvas.TextHeight(FText) div 2,FText);
end;
Mielőtt kiírjuk szövegünket az új koordinátákkal, le kell törölnünk a régit. A törlést a FillRect metódussal végezzük, a koordinátákat a szöveg közvetlen környezetére korlátozzuk.
Végül nincs más hátra, mint kiírni a szöveget az új koordinátára.
A szöveg kiírásához a TCanvas osztályt használjuk. A Canvas.Font tulajdonságot be kell állítanunk az FFont objektum értékeinek megfelelően. Ezt a SetFont metódusban tesszük meg.
procedure TScrollText.SetFont(Value: TFont);
begin
  FFont.Assign(Value);
  Canvas.Font:=FFont;
end;

Cikksorozat

#IDKategóriaCikk címeSorozat
1099DelphiDBChart komponens felhasználása1. rész
1113DelphiTDBChart komponens2. rész
1122DelphiTDBChart komponens3. rész
1132DelphiTDBChart komponens4. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 679. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |