HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

A PowerPoint alkalmazás programozása Delphi-ből


PowerPoint 4. rész

Példaprogram letöltése

161161 bájt

A PowerPoint-ról szóló cikksorozat negyedik részében összefoglaljuk az eddig tanultakat, és készítünk egy több oldalas bemutatót, amelynek az lesz az érdekessége, hogy az oldalak adatait egy adatbázisból olvassuk ki, még a képeket is. Az oldalnak hátteret is adunk, és a váltást véletlenszerű effektekkel oldjuk meg. Az adatokat is különböző effektekkel fogjuk megjeleníteni szövegdobozokban, valamint az adatbázisban tárolt képet is megjelenítjük az oldalon.

A Delphi példa adatbázisában (DBDEMOS) megtalálható BioLife tábla adataiból állítjuk elő a bemutató oldalait úgy, hogy lesz egy kezdőlap, majd minden egyes rekordhoz létrehozunk egy diát.
A művelet a Button1 OnClick eseményének bekövetkeztekor indul. Első lépésben a már megszokott módon csatlakozunk a PowerPoint alkalmazáshoz, majd létrehozunk benne egy új bemutatót. Ezután rögtön létrehozzuk az első diát, ami a nyitó oldal lesz, ezen belül pedig középen elhelyezünk egy képet, amit fájlból töltünk be a Shapes objektum AddPicture függvényével. A kép pozícióját a betöltés után állítjuk be:
  FPPApp:=CreateOleObject('PowerPoint.Application');
  FPresentation:=FPPApp.Presentations.Add(false);
  Slide:=FPresentation.Slides.Add(1, ppLayoutBlank);
  Shape:=Slide.Shapes.AddPicture(HomeDir+'pics\title.gif', false, true, 0, 0);
  Shape.Left:=Slide.Master.Width div 2 - Shape.Width div 2;
  Shape.Top:=Slide.Master.Height div 3;
Ezután megadjuk, hogy a kép milyen animációval jelenjen meg. A kép spirál effektussal, az indítás után 1 másodperccel fog „berepülni” a végleges pozíciójába:
  Shape.AnimationSettings.EntryEffect:=ppEffectSpiral;
  Shape.AnimationSettings.AdvanceTime:=1;
  Shape.AnimationSettings.AdvanceMode:=ppAdvanceOnTime;
Ezzel a nyitólap már meg is van. Ezután egy ciklusban beolvassuk az adatbázis rekordjait. A ciklus elején rögtön létrehozzuk az új diát, majd a FollowMasterBackground property-t hamisra állítjuk. Ezt azért kell megtennünk, hogy egyéni hátteret tudjunk adni a diának. Ezután a háttérszínt beállítjuk úgy, hogy a kék színösszetevő értéke 100 lesz, a többi pedig 0, vagyis sötétkékre. Ezzel a hátteret még nem fejeztük be, még egy képet is betöltünk. A háttérszínt azért kellett beállítanunk, mert a betöltött háttérkép átlátszó, és ahol a kép átlátszó, ott a háttérszín jelenik meg. Ha megvagyunk a háttérrel, akkor beállítjuk a dia megjelenítésének animációját. Hogy eléggé változatos legyen a képváltás, így az animációt véletlenszerűre állítjuk:
  Slide:=FPresentation.Slides.Add(RecNo+1, ppLayoutBlank);
  Slide.FollowMasterBackground:=false;
  Slide.Background.Fill.ForeColor.RGB:=RGB(0, 0, 100);
  Slide.Background.Fill.UserPicture(HomeDir+'pics\bg.gif');
  Slide.SlideShowTransition.EntryEffect:=ppEffectRandom;
Létrehozunk egy szövegdobozt a dia bal felső sarkában, amiben a rekord azonosítóját fogjuk megjeleníteni. A szöveg elrendezése vízszintes lesz, ennek megadására szolgál a msoTextOrientationHorizontal konstans. A szövegdobozban két sor jelenik meg, az első a felirat („Species No.:”), a második pedig a rekord azonosítója. Ennek érdekessége az lesz, hogy a második sort vastag betűvel fogjuk kiírni. Ehhez szükség lesz a szövegdoboz TextRange objektumára. Ennek Font property-jében megadjuk a betűtípust, majd a második bekezdés betűtípusánál beállítjuk a félkövér tulajdonságot, és középre igazítjuk a bekezdés szövegét.
  Shape:=Slide.Shapes.AddTextBox(msoTextOrientationHorizontal, 5, 5, 80, 20);
  Range:=Shape.TextFrame.TextRange;
  Range.Text:='Species No.:'+CRLF+FormatFloat('#0,', Table1SpeciesNo.Value);
  Range.Font.Name:='Arial';
  Range.Font.Size:=10;
  Range.Font.Color:=clWhite;
  Range.ParagraphFormat.Alignment:=ppAlignCenter;
  Range.Paragraphs(2).Font.Bold:=true;
Ezután következik a kép megjelenítése, amihez az adatbázisból ki kell olvasni a képet, és el kell menteni egy fájlba. Ehhez egy TPicture objektumot használunk (pic). Az elmentett fájlt már könnyedén beilleszthetjük a diára. Középre igazítjuk, és beállítjuk a fade effektust a megjelenítésnél.
Ezután létrehozunk még három szövegdobozt. Az elsőben a tulajdonságok neveit jelenítjük meg, és jobbra igazítjuk benne a szöveget. A másodikban a tulajdonságok jelennek meg. Ez a szövegdoboz Nyújtás effektussal fog megjelenni. A harmadik szövegdobozban a leírás lesz látható, ez jelenik meg utoljára a dián véletlenszerű effektussal.
A dia alján megjelenítünk még egy szövegdobozt, amiben egy link található a www.SoftwareOnline.hu oldalra. Ahhoz, hogy a link működjön is, a szöveg Action objektumánál meg kell adni, hogy mi történjen, amikor a felhasználó a linkre kattint:
  Action:=Shape.TextFrame.TextRange.ActionSettings.Item(ppMouseClick);
  Action.Action:=ppActionHyperlink;
  Action.Hyperlink.Address:='http://www.SoftwareOnline.hu/';

Cikksorozat

#IDKategóriaCikk címeSorozat
1018DelphiVonalkód készítő komponens1. rész
1028DelphiVonalkód nyomtatása a QuickReport-al2. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2002 évkönyv 130. 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 |