HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

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


PowerPoint 2. rész

Példaprogram letöltése

53037 bájt

A PowerPoint programozásáról szóló cikksorozat második részében megvizsgáljuk, hogy hogyan tudunk új bemutatót készíteni, abban diákat létrehozni, a diákon szövegdobozokat és képeket elhelyezni. A dián elhelyezett objektumok megjelenítési animációját is megadjuk, valamint létrehozunk egy linket is. Azt is megnézzük, hogy hogyan tudjuk a szövegdobozban megjelenített szöveg betűtípusát, valamint a szöveg igazítását beállítani.

Első lépésben most is csatlakozunk a PowerPoint alkalmazáshoz, de most nem megnyitunk egy már létező bemutatót, hanem létrehozunk egy újat a Presentations objektum Add függvényével.
Add
Osztály: Application
Add(
WithWindow
)
A függvénnyel egy új bemutatót hozhatunk létre.
Paraméterek
WithWindow
Ha a paraméter értéke igaz, akkor az új bemutatót ablakban hozza létre, ellenkező esetben „rejtve” marad.
Visszatérési érték
A függvény visszatérési értéke a létrehozott Presentation objektum.
Ha létrehoztuk a bemutatót, akkor rögtön készítünk egy új diát is. A diák a Presentation objektum Slides property-jén keresztül érhetők el. Új diát a Slides obbjektum Add függvényével hozhatunk létre.
Add
Osztály: Slides
Add(
Index,
Layout
)
Létrehoz egy új diát.
Paraméterek
Index
Az új dia indexe. Nem lehet nagyobb, mint a diák száma + 1. Ha olyan indexet adunk meg, ami már létezik, akkor az adott indexű dia elé szúrja be az új diát.
Layout
Az új dia elrendezése, amit egy PpSlideLayout konstanssal adhatunk meg. A programból hozzuk létre a diát, akkor általában a legjobb választás, ha egy üres diát hozunk létre. Ehhez a ppLayoutBlank ($0C) konstanst kell használnunk.
Visszatérési érték
Az új dia Slide objektuma.
A dián elhelyezett különböző objektumokat a Shapes property-n keresztül érhetjük el. Ennek függvényeivel hozhatunk létre új képet vagy szövegdobozt, vagy egyéb objektumokat. Kép beszúrásához az AddPicture függvényt használjuk:
Shape:=Slide.Shapes.AddPicture(ExtractFilePath(Application.ExeName)+'logo.bmp', false, true, 10, 20);
Szövegdobozt az AddTextBox függvénnyel tudunk létrehozni:
AddTextbox
Osztály: Shapes
AddTextbox(
Orientation,
Left,
Top,
Width,
Height
)
Ezzel a függvénnyel hozhatunk létre új szövegdobozt.
Paraméterek
Orientation
A szöveg iránya a szövegdobozban. Értékeit az alábbi MsoTextOrientation típusú konstansokkal adhatjuk meg:
Konstans Érték
msoTextOrientationMixed $FFFFFFFE
msoTextOrientationHorizontal $00000001
msoTextOrientationUpward $00000002
msoTextOrientationDownward $00000003
msoTextOrientationVerticalFarEast $00000004
msoTextOrientationVertical $00000005
msoTextOrientationHorizontalRotatedFarEast $00000006
Left
A szövegdoboz bal szélének koordinátája pontban megadva.
Top
A szövegdoboz felső szélének koordinátája pontban megadva.
Width
A szövegdoboz szélessége.
Height
A szövegdoboz magassága.
Visszatérési érték
Az új szövegdoboz objektumát (Shape) adja vissza.
A szövegdobozban lévő szöveget a TextFrame property-n keresztül formázhatjuk meg.
AutoSize
Osztály: TextFrame
property AutoSize;
A szövegdoboz automatikus méretezésének módját adhatjuk meg ebben a property-ben egy PpAutoSize típusú konstanssal. Ezek a következők lehetnek:
Konstans Érték
ppAutoSizeMixed $FFFFFFFE
ppAutoSizeNone $00000000
ppAutoSizeShapeToFitText $00000001
HasText
Osztály: TextFrame
property HasText;
A property értéke igaz, ha a szövegdoboz (vagy Shape objektum) tartalmaz szöveget.
HorizontalAnchor
Osztály: TextFrame
property HorizontalAnchor;
A horgony vízszintes igazítását határozza meg ez a property. Ettől függ, hogy a Left property értékéből hogyan számolja ki az objektum pozícióját. Értékei az alábbiak lehetnek:
Konstans Érték
msoHorizontalAnchorMixed $FFFFFFFE
msoAnchorNone $00000001
msoAnchorCenter $00000002
MarginBottom
Osztály: TextFrame
property MarginBottom;
Az alsó margó mérete pontban megadva.
MarginLeft
Osztály: TextFrame
property MarginLeft;
A bal margó mérete pontban megadva.
MarginRight
Osztály: TextFrame
property MarginRight;
A jobb margó mérete pontban megadva.
MarginTop
Osztály: TextFrame
property MarginTop;
A felső margó mérete pontban megadva.
Orientation
Osztály: TextFrame
property Orientation;
A szöveg iránya (lásd AddTextBox függvény).
TextRange
Osztály: TextFrame
property TextRange;
Egy TextRange objektumot ad vissza, amelyen keresztül megadhatjuk a szöveget, és a szöveg tulajdonságait.
VerticalAnchor
Osztály: TextFrame
property VerticalAnchor;
A horgony függőleges igazítása. Ettől függ, hogy az objektum függőleges pozícióját hogyan számolja ki a Top property-ből. Értékei az alábbiak lehetnek:
Konstans Érték
msoVerticalAnchorMixed $FFFFFFFE
msoAnchorTop $00000001
msoAnchorTopBaseline $00000002
msoAnchorMiddle $00000003
msoAnchorBottom $00000004
msoAnchorBottomBaseLine $00000005
WordWrap
Osztály: TextFrame
property WordWrap;
Ha a property értéke igaz, akkor a szöveg több sorra automatikusan úgy lesz tördelve, hogy beleférjenek a szövegdobozba.
Szó volt a TextRange objektumról, amelyen keresztül a szövegdobozba írt szöveget formázhatjuk. Most nézzük meg ennek néhány fontos property-jét:
Font
Osztály: TextRange
property Font;
A szöveg betűtípusát állíthatjuk be a Font property-n keresztül. A Font objektum Name property-jében adhatjuk meg a betűtípus nevét, a Size property-ben a méretét. A betű stílusát a Bold (félkövér), Italic (dőlt), és Underlined (aláhúzott) logikai property-kben adhatjuk meg.
Text
Osztály: TextRange
property Text;
A szövegdobozban megjelenő szöveget adhatjuk meg ebben a property-ben.
ParagraphFormat
Osztály: TextRange
property ParagraphFormat;
A szövegdobozban megjelenő szöveg bekezdéseinek formázását, így például a szöveg igazítását állíthatjuk be ebben a property-ben.:
Shape.TextFrame.TextRange.ParagraphFormat.Alignment:=ppAlignCenter;
A Shape objektumok megjelenítésének animációját az AnimationSettings objektumon keresztül tudjuk megadni. Egy későbbi részben erről részletesen is szó lesz, most csak a példaprogramban használt property-ket ismertetjük. Az EntryEffect property-ben beállítjuk azt az animációt, amellyel az objektum megjelenik a dián. Ezt egy PpEntryEffect típusú konstanssal adhatjuk meg. Szövegdoboznál megadhatjuk, hogy a szöveget milyen egységekre bontsa fel az animáció során. Végrehajthatjuk az animációt egyszerre akár az egész szövegen, vagy akár betűnként külön-külön is. Ezt a TextUnitEffect property-ben adhatjuk meg. Megadhatjuk azt is, hogy bekezdésenként hogyan bontsa fel a szöveget (első szintű, másod szintű, stb., egészen az 5. szintű bekezdésekig), ehhez a TextlevelEffect property-t kell használnunk. Az AdvanceMode property-ben megadjuk, hogy az animáció az AdvanceTime property-ben megadott idő letelte után hajtódjon végre. Ha az AdvanceTime property-ben 0-át adunk meg, akkor rögtön az előző animáció befejezése után elindul. Az időt másodpercben kell megadni.
Shape.TextFrame.TextRange.ParagraphFormat.Alignment:=ppAlignCenter;
Shape.AnimationSettings.EntryEffect:=ppEffectFlyFromLeft;
Shape.AnimationSettings.TextLevelEffect:=ppAnimateByAllLevels;
Shape.AnimationSettings.AdvanceTime:=0;
Shape.AnimationSettings.AdvanceMode:=ppAdvanceOnTime;
Shape.AnimationSettings.TextUnitEffect:=ppAnimateByCharacter;
Miután a diánk elkészült, a SaveAs függvénnyel elmenthetjük.
SaveAs
Osztály: Presentation
SaveAs(
Filename,
FileFormat,
EmbedFonts
)
Elmenti a bemutatót a megadott fájlba.
Paraméterek
Filename
A fájl neve.
FileFormat
A fájl formátuma. A fájl formátumát egy PpSaveAsFileType típusú konstanssal adhatjuk meg. Ennek értékei a következők lehetnek:
Konstans Érték
ppSaveAsPresentation $00000001
ppSaveAsPowerPoint7 $00000002
ppSaveAsPowerPoint4 $00000003
ppSaveAsPowerPoint3 $00000004
ppSaveAsTemplate $00000005
ppSaveAsRTF $00000006
ppSaveAsShow $00000007
ppSaveAsAddIn $00000008
ppSaveAsPowerPoint4FarEast $0000000A
ppSaveAsDefault $0000000B
ppSaveAsHTML $0000000C
ppSaveAsHTMLv3 $0000000D
ppSaveAsHTMLDual $0000000E
ppSaveAsMetaFile $0000000F
ppSaveAsGIF $00000010
ppSaveAsJPG $00000011
ppSaveAsPNG $00000012
ppSaveAsBMP $00000013
EmbedFonts
Ha a paraméter értéke igaz, akkor a használt betűtípusokat (fontokat) is elmenti a fájlba.
Visszatérési érték
Az elmentett bemutató Presentation objektumát adja vissza.

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 96. 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 |